zoukankan      html  css  js  c++  java
  • sqlmap和burpsuite绕过csrf token进行SQL注入检测

    利用sqlmap和burpsuite绕过csrf token进行SQL注入

    转载请注明来源:http://www.cnblogs.com/phoenix--/archive/2013/04/12/3016332.html

    问题:post方式的注入验证时遇到了csrf token的阻止,原因是csrf是一次性的,失效导致无法测试。

    解决方案:Sqlmap配合burpsuite,以下为详细过程,参照国外牛人的blog(不过老外讲的不是很细致,不适合我等小白)。

    1、打开burpsuite(以1.5为例),设置好本地代理并设置为off状态;

    2、burpsuite的option选项中提供了Sessions(会话录制、分析和处理的功能)。(几乎没看到网上介绍过,所以从没有用过。。。)

    3、打开option选项卡中的Sessions,添加处理规则并命名:“Add”rules  description添加处理动作:rule actions,我测试遇到的是post请求,故选择“Run a post-request macro”;

    4、设置scope,点击scope选项卡,只选中Tool Scope中的Proxy(use with caution),设置URL Scope,将需要拦截的请求页面地址粘贴至其中;

    5、录制会话:Add macro,打开了Macro Recorder,点击“Record macro”,此时在浏览器中打开疑似存在注入的页面并提交post请求,此时在Macro Recorder中可以看到请求页面和提交请求的url及自动探测出的参数;

    6、按ctrl键分别选中需要的请求,然后点击OK,将其添加到Macro Editor中;

    7、选中Get请求并Configure item打开配置界面,手动添加response中的参数(csrf token)并点OK;

    7、选中Post请求并Configure item打开配置界面,将csrf token的值设为Response1,及Get请求的相应中选中的参数;

    8、一路点击OK,就配置好了;

    9、运行sqlmap,输入正常注入语句,增加代理选项--proxy="http://127.0.0.1:8080"后执行;

    10、可以在burpsuite中的的proxy选项卡中的history项中看到注入执行过程,如果页面响应都正确,则说明以上配置有效且成功。

    解决过程中有几个问题记录下:

    1、谷歌 搜索关键词:sqlmap CSRF protection bypass,参考了一些资料,介绍说sqlmap可以识别一些csrf token然后处理,不过测试时候没有发现;

    2、之后才看到有一个人利用burpsuite进行处理的方法(上述的英文链接);

    3、你懂的,看懂英文和理解起来还是有些差距的,加上作者没有非常详细的介绍,我自己测试很久都不行。最后才发现不需要关注同样变化的cookie,只需要关注csrf token即可,因为burpsuite自带的cookie jar 可以处理变化的cookie。

  • 相关阅读:
    学习subprocess模块...
    【排列组合】
    【约瑟夫问题】
    【craps赌博游戏】
    【洗扑克牌(乱数排列)】
    【最大访客数】
    【后序式的运算】
    【中序式转后序式】
    【python基础】之元组 集合 字典
    【费式数列(Fibonacci数列)】
  • 原文地址:https://www.cnblogs.com/qmfsun/p/6121372.html
Copyright © 2011-2022 走看看