1. 程式人生 > >CSRF 跨站請求偽造學習筆記

CSRF 跨站請求偽造學習筆記

參考文章: * [漏洞挖掘之CSRF](http://www.teagle.top/index.php/archives/71/) * [CSRF花式繞過Referer技巧](https://www.it610.com/article/3305205.htm) # What-是什麼 CSRF(Cross-site request forgery)跨站請求偽造。攻擊者通過構造特殊連結或者頁面,盜用使用者身份,以合法名義完成一些非法勾當。 大致流程: * 正常使用者訪問並登陸 A 網站 * 於此同時,正常使用者被攻擊者欺騙 * 第一種:訪問惡意網站 惡意網站中存在著惡意程式碼,會向 A 網站發起請求,比如說轉賬,發表評論,釋出文章、關注使用者等等一些正常的操作。由於使用者已登入 A 網站儲存了 A 網站的 cookie,所以瀏覽器會帶著使用者的 cookie 去完成這些操作。 * 第二種:開啟惡意連結 在 A 網站上的一些操作是通過 GET 請求的方式完成的,比如說關注使用者 `www.xxx.com/like.php?target_user=xxx`,攻擊者通過構造該連結然後將其傳送給受害使用者,並帶上一些迷惑性的話語,例如:免費看 VA 大片等,受害使用者出於好奇心的驅使,點選了該連結,瀏覽器便帶著使用者的 cookie 去完成關注操作,而使用者卻渾然不知,只是在心中默罵了一句:臥槽,說好的大片呢。 * 至此,一次 CSRF 攻擊已經完成。 # Why-為什麼 `怪就怪網站沒有做驗證,怪就怪瀏覽器記住了我的 cookie,怪就怪黑客說的話太誘人,怪就怪使用者好奇心太重` ## Where-在哪裡 * 購物類網站 * 新增/刪除 購物車、收貨地址、訂單 * 關注店鋪 * 論壇類網站 * 關注博主 * 發表/刪除 文章、評論 * [Jsonp劫持、CORS配置錯誤](https://www.cnblogs.com/wjrblogs/p/12964581.html) * 使用者與伺服器互動之處 # How-怎麼辦 * GET 型別 * 構造連結傳送給使用者 * 構造 HTML 標籤 `、、