【36】WEB安全學習----CSRF攻擊
阿新 • • 發佈:2018-12-14
CSRF攻擊
關於CSRF攻擊,網上也有很多講解,這裡就不重複造輪子了。
簡單介紹下,CSRF攻擊也叫跨站點請求偽造攻擊,其核心攻擊原理是:在傳送請求時,瀏覽器會自動附帶使用者的cookie資料進行提交,那麼通過這個原理,攻擊者通過JS構造某些功能請求,如發帖,轉發、修改密碼等等,受害者一旦點選攻擊者構造的功能請求連結,由於瀏覽器會自動附帶使用者身份標識,那麼認證過程就省略了,就會成功執行使用者構造的功能請求。
但是,一般使用者不會點選陌生的地址,那麼CSRF和XSS就完美結合了。
CSRF漏洞查詢
找CSRF漏洞一般找網站的重點操作功能,如:密碼修改(不驗證原密碼)、轉賬、留言、發帖等等(涉及資料庫的增、刪、改)。
CSRF防禦
1、表單加入偽隨機值,如DZ論壇採用fromhash值,這個值攻擊者無法事先知道,故成功防禦了CSRF攻擊,但這個值通過XSS可以讀取到(或有些論壇fromhash值固定),故不能保證百分百安全。
2、在表單里加入驗證碼機制,這個能有效的防止XSS漏洞,但還是不能百分百安全,因為攻擊者可以把驗證碼發給遠端進行識別,只是較麻煩。
3、表單加入token欄位,這個能有效的防止XSS攻擊,因為token欄位值與session或cookie進行了繫結,攻擊者無法預測token值,就算token值被XSS讀取到了,但cookie裡的token值也不一樣。
4、驗證referer欄位,我們知道referer欄位就是記錄請求的來源地址,如果是外域則表示是CSRF攻擊,但結合XSS攻擊則突破這個限制。
關於例項演示,以後做CTF題會補充上,大家先了解其原理和防禦。