
本文共 1904 字,大约阅读时间需要 6 分钟。
技术分享 | 网站安全与渗透技巧
作为一名技术人员,我致力于探索技术间的隐秘,挖掘未被发现的安全漏洞。今天,我将分享一些关于网络安全、漏洞挖掘及渗透技术的思考与实践经验。
技术状况
当前我的技术栈主要集中在以下几个方面:网页开发、服务器态安全(如防SQL注入、XSS等)、网络协议分析及漏洞挖掘。我熟悉一些主流的Web应用框架如Spring,了解其常见漏洞,并能够利用工具如Sqlmap进行安全测试。
如果我需要渗透一个网站,通常会先通过主流渠道了解目标网站的基础信息,比如访问量、技术栈及已知的安全漏洞。
近期了解的漏洞
在过去的一些时间里,我发现过多个有趣的安全漏洞。例如:
- Spring vulnerability: 系统使用了已知的Spring注入漏洞,导致远程代码执行。
- Sql injection: 部分API没有正确过滤输入数据,导致SQL注入漏洞。
以往的漏洞挖掘经历
我曾参与过多个项目,挖过许多安全漏洞。例如:
将数据库注入漏洞利用成后门:通过Sqlmap找到敏感表单,注入Stored Procedure,再通过命令执行功能癌变成一个后门。
利用ubbo-rewrite绕WAF:通过模糊请求,打破防火墙的过滤规则,实现最终的RCE。
##日常使用的工具
在安全测试中,我常用以下工具:
Sqlmap: 用于自动化SQL注入测试,功能强大。
Httpx: 这是一个通用HTTP请求工具,适合尝试各种请求方式。
Nmap: 首选工具,用于网络扫描,发现开放的端口和未授权的服务。
Meterpreter: 作为C2渗透中的一部分,灵活有用。
常见端口与对应服务
22、443:对应常见的SSH和HTTP/HTTPS。
3306:MySQL数据库端口。
1433、445:Microsoft SQL Server和SMB端口。
** collaborator invasion**:通过这些端口进行未授权访问或内部移动。
SQL注入及反序列化漏洞原理
SQL注入
SQL注入漏洞是因为数据库处理未 sanitize(清洗)输入,允许攻击者传入恶意语句最终影响数据库或系统。
攻击者常通过提供一条特定的请求,使得SQL引擎执行恶意代码,如获取数据库内容、修改数据或删除表。
反序列化漏洞
反序列化漏洞是通过将Java对象序列化为文本形式,并反编译成可执行代码,这种弱点常出现在基于Java的Web应用中。
攻击者利用user-product这种关系,诱使程序反序列化并执行恶意代码,从而获得远程控制权限。
测试方法
在测试阶段,我会用诸如Bersive Austin等工具,尝试通过Prov 客户端或lua脚本模拟反序列化成功。
XEE vulnerability 原理及修复方法
XEE漏洞是通过构造 malformed XML payload,迫使服务器运行不受控制的代码。
)修复方法:确保所有XML解析器启用严格模式,并定期更新XML解析库,防止版本之类的符号翻译损析。
如何测试各类安全漏洞
在渗透过程中,我会从以下方面着手:
SQL注入:使用 Burpsuite或Sqlmap,逐步测试各字段能否注入命令。
XSS:在输入中插入关键字,观察是否反射到页面。
文件包含:尝试上传恶意文件,或构造请求包含文件路径。
权限控制测试:检查是否能够绕过前端验证,突破文件上传限制。
项目经验
我参与开发过多个项目,其中有一项是用于自动化测试平台的安全渗透模块。这项工作强调对主流Web应用框架(如Spring、Django)的安全性进行测试,并提供修复建议。
关于Sql注入的提权
在Sqlmap中,提权步骤如下:
file:///table_name
.select load_file('', 'table_name')
。常见提权方式
使用 persistence 二阶-shell:通过记录SQL语句,获取认证信息或变量。
利用 Xml external entity:构造恶意XML payload,导致
修复方法:及时更新软件版本,禁用不必要的模块,并配置安全头。
NMap全端口扫描命令
nmap -p 1-65535 target.com
这个命令将绕开防火墙,扫描所有60000多个端口,确保发现所有开放服务。
通过以上分享,我希望能够对大家的技术能力有一定的帮助。未来我将继续探索更多网络安全的秘密,并分享所学经验。如有疑问欢迎留言讨论!
发表评论
最新留言
关于作者
