利用fiddler 伪造response绕过js验证

很多网站把数据的校检放在了前端由JS程序完成,JS程序通过ajax请求服务器获得返回值,判断用户输入是否是正确的,为了防止ajax请求被伪造,一般会传递一个变动的回调参数,例如百度验证邮箱的地址是https://passport.baidu.com/v2/?regmailcheck&token=6a60f2edd88a4026f1b7aeaf4889cce4&tpl=tb&apiver=v3&tt=1358522488317&email=ssfsdfsfsssfsfsa%40sina.cn&callback=bd__cbs__109e3a

可以看出来回调参数是bd__cbs__109e3a  ,109e3a  这个参数是变动的,返回值是bd__cbs__109e3a ({“errInfo”:{ “no”: “0” }, “data”: {}}),所以如果伪造请求的话必须截取请求参数,并返回对应的标识符。

利用fiddler 的autoresponder 可以对请求的url和参数进行正则匹配截断,然后去请求另一个对应的处理程序返回结果。

例如我设置的rule editor :

regex:https://passport.baidu.com/v2/?regmailcheck(.+)callback=(?<args>.*) http://hixss.sinaapp.com/s.php?s={args}

s.php为处理程序

[php]

header("Content-type:text/plain");
s=_GET["s"];
echo $s.'({"errInfo":{ "no": "0" }, "data": {}})’;
[/php]