滲透測試Web篇,各式各樣關於Web的常見攻擊手法。
關於Web的一些網頁攻擊防禦手法,不管今年還是往年的it鐵人賽,
都有不少的優質文章,大家有興趣都可以多看看~
其實今天的內容,尤其前面三題,幾乎是面試常見的題目了,
除了了解如何利用與原理以外,對於各種風險的修補與預防方式也建議都要了解。
照慣例,每篇文章都會附上第一篇的文章,讓大家了解一下這系列文章說明
https://ithelp.ithome.com.tw/articles/10264252
SQL Injection是由於網頁應用程式接受傳遞的參數當中,輸入的參數存在SQL語法,導致這些字串中的指令就會被認為是SQL指令而執行,影響了原本預期執行的指令。可以利用參數化查詢或是黑名單、白名單,檢查驗證輸入的參數內容。
XSS攻擊是網頁應用程式未確實將輸入的JavaScript語法過濾與編碼,顯示於回應當中,而瀏覽器將此JS語法執行。驗證參數輸入的內容,將輸出的內容進行HTML編碼。
CSRF是跨站請求偽造。簡單講,就是被害者點擊了攻擊者提供的網頁後,網頁裡面埋了一些惡意的程式碼,而這些惡意程式碼的目的為假冒被害者的身份去對目標網站發出請求,請求可以是刪除資源或是轉帳等動作,通常由於利用cookie 做身份認證的情況,利用這種惡意網頁方式讓cookie會隨著請求一起被送出的特性來達到攻擊的效果。可以利用CSRF Token來防禦。
Clickjacking是點擊劫持技術,是結合iframe技術的一種視覺上的欺騙手段。攻擊者可以將目標網站使用iframe覆蓋在自己的釣魚網頁上,將iframe設為透明,然後使用者在該網頁上進行操作時,當使用者在要點擊釣魚的按鈕時,其實是點到透明的iframe內容。當然這只是其中一種的手法。
SSRF是Server-side request forgery,攻擊者可以利用該漏洞誘使伺服器端應用程式向攻擊者選擇的任意網域發出HTTP請求,通常可以用來探刺伺服器自身或是內網的其他服務。
不安全的反序列化是指網站對使用者可控制的數據進行了反序列化。因為攻擊者能夠操縱序列化的對象,所以可能將有害的序列化數據傳遞到應用程式中讓網站對此不安全的序列化數據進行反序列化。
File Inclusion可以允許攻擊者包含文件,攻擊者可以透過修改可控的參數,達到包含伺服器當中的文件的效果。LFI為本低端的Include,RFI為遠端include。LFI通常的威害可允許攻擊者能夠獲得未經授權可以存取的檔案,例如一些設定檔案,機敏資訊的檔案和網頁的原始碼資訊。
Session Fixation的攻擊利用的是網站登入後不會更新Session ID。攻擊者可以先嘗試登入網站,取得一組Session ID。接著攻擊者會利用各種手法將此Session ID設給受害者的瀏覽器,當使用者進行登入後,因為Session ID並沒有更新,攻擊者便可使用此組ID查看會是偽造該受害者的帳戶。
多數HTTP請求走私漏洞的出現是因為HTTP規範提供了兩種不同的方法來指定請求的結束位置,Content-Length和Transfer-Encoding這兩個HTTP Header。HTTP請求走私攻擊利用的就是前端和後端伺服器使用不同的方式處理這兩個Header。
XML Signature Wrapping (XSW)攻擊,可以在通過簽名驗證的情況下更改竄改部分已簽名內容。
Server-side template injection(SSTI)攻擊,利用模板引擎進行注入攻擊。
今年我在Hitcon Training也有開課唷,歡迎報名^^
網站滲透測試入門 Web Security - From Zero to Hero
https://hitcon.kktix.cc/events/hitcon-training-2021
若有要補充也都歡迎留言