1. 程式人生 > >DVWA —— CSRF分析

DVWA —— CSRF分析

pass 圖片 新增 導致 ref 無法 color () 技術分享

Low

csrf是一個修改密碼的界面

技術分享圖片

Low級別的源碼如下,新密碼和確認密碼通過GET傳參,並未做任何過濾

技術分享圖片

嘗試修改一次密碼

技術分享圖片

若用戶點擊了被攻擊者修改password_new和password_conf參數的url,則密碼就會被修改

由於這個url的參數過於明顯,攻擊者還可以通過構造釣魚界面來進行攻擊

Medium

Medium等級的源碼如下,利用stripos()來檢測HTTP的REFERER頭中是否含有SERVER_NAME(大致等同於http頭中的Host)

技術分享圖片

因此攻擊者可以構造一個釣魚界面放在自己的服務器,將該頁面的文件名修改為服務器端的ip或域名,就可以讓Referer頭中包含Host的內容

這裏使用的是本機127.0.0.1

技術分享圖片

當用戶打開該頁面後,自己的密碼就被重置

技術分享圖片

進入phpmyadmin後可以看到密碼被修改為url對應的123456

技術分享圖片

技術分享圖片

High

High級別源碼如下,該級別加入了token機制來防禦csrf

技術分享圖片

當修改密碼時可看到url中新增了token參數,理論上攻擊者可通過XSS來獲取用戶的token,進而構造url來進行修改密碼

技術分享圖片

Impossible

此時代碼中不僅有token機制,並在用戶修改密碼時要求輸入原密碼,這就導致攻擊url無法構造

技術分享圖片

DVWA —— CSRF分析