安全領域各種資源,學習文檔,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各種好玩的項目及好用的工具,歡迎關注。
目錄
?安全服務工程師(駐場)
1. 挖過的一些漏洞(舉例說明)
2. 滲透測試的思路(結合自己的經驗)
3. 安全工具的使用(xray, sqlmap, AWVS等)
4. OWASP Top 10
5. SQL注入
6. 編程能力
?安全服務工程師(駐場)
1.挖過的一些漏洞(舉例說明) 2.滲透測試的思路(結合自己的經驗) 3.安全工具的使用(xray,sqlmap,awvs等) 4.owasp top 10 - 記住是哪10個 - 知道漏洞原理 - 知道防御姿勢 5.owasp top 10中自己熟悉/經常挖到的漏洞 6.sql注入 - 漏洞幾種類型 - 漏洞成因 - 防御方法 7.編程能力(寫一些小腳本,改一些poc等)
1. 挖過的一些漏洞(舉例說明)
在滲透測試中,我遇到或模擬過的常見漏洞類型包括(控制在7個要點以內,每個補充簡要說明):
- SQL注入(SQL Injection):例如在用戶登錄表單中輸入
' OR '1'='1
,繞過身份驗證獲取數據庫訪問權限。發生率極高,常因未對輸入進行過濾導致。- 跨站腳本(XSS):如在評論框注入
<script>alert('XSS')</script>
,盜取用戶cookie。多見于論壇或社交網站,因輸出未轉義引發。- 服務器端請求偽造(SSRF):利用URL參數(如
http://internal-server/admin
)訪問內網資源,曾在API接口測試中發現,用于掃描內網弱點。- 文件上傳漏洞:上傳偽造的Webshell文件(如.php擴展名),獲得服務器控制權。常見于未限制文件類型和大小的網站。
- 不安全的直接對象引用(IDOR):通過修改URL中的ID參數(如
user_id=123
改為user_id=124
),越權訪問他人數據。電商和社交平臺高發。- XML外部實體注入(XXE):解析惡意XML文件時讀取系統文件(如
/etc/passwd
),在文件上傳或API接口中易遭利用。- 安全配置錯誤:如暴露的目錄列表或默認憑證(admin/admin),在初始服務器掃描時快速發現。
2. 滲透測試的思路(結合自己的經驗)
滲透測試遵循結構化流程(如PTES框架),我的經驗強調主動偵察和迭代測試。以下是關鍵步驟(控制在5點內,合并偵察與掃描):
- 信息收集(偵察階段):先使用工具(如Nmap、Shodan)掃描目標域名/IP,收集子域名、開放端口和框架信息(如Apache版本)。經驗:通過Whois查詢找出關聯資產,擴大攻擊面。
- 漏洞掃描與分析:結合自動化工具(如AWVS掃描Web漏洞)和手動測試(如Burp Suite攔截請求),識別弱點(如未修復的CVE)。經驗:優先測試高風險區域(登錄頁、API端點),避免盲目掃描浪費時間。
- 漏洞利用與權限提升:針對發現的漏洞(如SQL注入)編寫或修改PoC腳本進行利用,目標是獲取初始訪問權限(如Webshell),再橫向移動(如提權到root)。經驗:常遇到WAF攔截,需混淆payload繞過(如編碼注入語句)。
- 維持訪問與證據收集:植入后門(如持久化Webshell)并提取敏感數據(如數據庫轉儲),同時記錄日志作為報告證據。經驗:強調隱蔽性,避免觸發告警。
- 報告與修復建議:整理漏洞詳情、風險等級和復現步驟,并給出具體防御方案(如輸入校驗)。經驗:報告需面向開發和管理層,區分技術細節和業務影響。
3. 安全工具的使用(xray, sqlmap, AWVS等)
常用工具各有側重,我基于模擬測試經驗簡要說明(控制在5點內,合并功能):
- xray:被動式Web漏洞掃描器,集成于代理(如Burp),自動檢測XSS、SQLi等。使用場景:在瀏覽網站時實時分析流量,高效發現OWASP Top 10漏洞。
- sqlmap:專注于SQL注入的自動化工具,支持多種數據庫(MySQL、MSSQL)。使用:指定目標URL和參數,自動枚舉數據庫內容(如
sqlmap -u "http://example.com?id=1"
),常配合手動驗證。- AWVS(Acunetix):商業Web掃描器,覆蓋全面(如CSRF、XXE),提供GUI報告。使用:批量掃描目標,優先級排序漏洞。
- Burp Suite:多功能代理工具,用于手動測試(如重放請求、fuzzing)。結合經驗:在攔截HTTP請求時修改參數,精準測試邏輯漏洞(如IDOR)。
- Nmap:網絡掃描工具,探測主機和端口。使用:快速識別服務(如
nmap -sV target.com
),滲透初期必備。
4. OWASP Top 10
OWASP Top 10是Web應用的十大關鍵風險,2023版最新列表如下(我熟知所有項)。簡述原理和防御(控制在5點內,合并相似漏洞),并在最后標注我“經常挖到的漏洞”:
- A01:2023-訪問控制失效(Broken Access Control)
- 原理:權限校驗缺失,允許用戶越權操作(如修改URL訪問他人數據)。
- 防御:實現RBAC(基于角色的訪問控制),校驗每個請求的權限。
- A02:2023-加密機制失效(Cryptographic Failures)
- 原理:敏感數據(如密碼)未加密或使用弱算法(如MD5)。
- 防御:采用強加密(AES-256)、HTTPS和密鑰管理。
- A03:2023-注入(Injection)
- 原理:輸入未過濾,導致SQLi、OS命令注入(如
; rm -rf /
)。- 防御:參數化查詢、輸入輸出過濾(如白名單)。
- A04:2023-不安全設計(Insecure Design)
- 原理:架構缺陷(如無速率限制),易被濫用(如暴力破解)。
- 防御:威脅建模、安全編碼規范。
- A05:2023-安全配置錯誤(Security Misconfiguration)
- 原理:默認設置未改(如調試模式開啟),暴露敏感信息。
- 防御:定期審計配置、最小權限原則。
- A06:2023-易受攻擊的組件(Vulnerable Components)
- 原理:第三方庫含已知漏洞(如Log4j)。
- 防御:依賴掃描(如OWASP Dependency-Check)、及時更新。
- A07:2023-身份認證失效(Identification Failures)
- 原理:弱密碼策略或會話管理不當(如會話固定)。
- 防御:多因素認證(MFA)、會話超時。
- A08:2023-軟件數據完整性故障(Software and Data Integrity Failures)
- 原理:代碼或數據篡改(如未驗簽的更新包)。
- 防御:數字簽名、完整性校驗。
- A09:2023-安全日志監控失效(Monitoring Failures)
- 原理:日志不足或無告警,延遲事件響應。
- 防御:集中日志管理(如ELK)、實時監控。
- A10:2023-服務器端請求偽造(SSRF)
- 原理:應用發起惡意請求(如訪問內網)。
- 防御:輸入校驗、網絡隔離。
我熟悉/經常挖到的漏洞:A03注入(如SQLi)、A01訪問控制失效(如IDOR)和A05安全配置錯誤,這些在自動化掃描中高頻出現,且易手動復現。
5. SQL注入
SQL注入是頂級Web風險(OWASP A03),我基于常見測試經驗總結如下:
- 漏洞類型(控制在5類內):
- 基于錯誤的注入(Error-based):利用數據庫錯誤消息(如
' OR 1=1 --
)泄露結構。- 聯合查詢注入(Union-based):通過
UNION SELECT
合并查詢,提取數據(如UNION SELECT username, password FROM users
)。- 布爾盲注(Boolean-based):根據頁面響應真假推斷數據(如
AND 1=1
與AND 1=2
對比)。- 時間盲注(Time-based):注入延時語句(如
SLEEP(5)
),根據響應時間判斷。- 堆疊查詢注入(Stacked queries):執行多條SQL語句(如
'; DROP TABLE users; --
),危害最大。- 漏洞成因:核心是未對用戶輸入過濾和校驗,直接拼接SQL查詢(如
"SELECT * FROM users WHERE id='" + input + "'"
),攻擊者注入惡意代碼改變語義。- 防御方法:
- 輸入驗證:使用白名單過濾特殊字符(如
<
,'
)。- 參數化查詢(Prepared Statements):綁定參數,避免拼接(如Java中的PreparedStatement)。
- ORM框架:使用Hibernate等工具,抽象SQL操作。
- 最小權限:數據庫賬戶僅授予必要權限(避免DROP)。
- WAF防護:部署Web應用防火墻(如ModSecurity)攔截注入嘗試。
6. 編程能力
在安全領域,編程能力(如Python、Bash)至關重要,我常用于以下任務:
- 編寫小腳本:自動化重復工作,例如用Python爬蟲(requests庫)收集子域名,或用Bash腳本批量處理日志分析。
- 修改PoC(Proof of Concept):調整現有漏洞利用代碼以適應特定環境,如改寫公開的SQLi PoC繞過WAF(例如添加注釋符
/**/
混淆)。- 工具集成:結合API開發自定義插件(如Burp擴展),增強掃描效率。
經驗:編程提升測試精準度——例如,快速生成fuzzing字典測試輸入點。