美文网首页
burpsuite相关

burpsuite相关

作者: ylylhl | 来源:发表于2018-05-09 22:22 被阅读0次

    上了几节课,想着“多少也该写点笔记吧”这样……


    Proxy选项卡

    截获并修改从客户端到web应用程序的数据包
    

    Intercept

    Forward:发送
    Drop:丢弃
    Intercept is on/off:监听开启/关闭
    

    单击右键,可以选择送到spider/intruder/repeater等以实现不同需要;convert selection里有一些常见的编码/解码,免去了送decoder的麻烦。
    虽然没什么关系但是也可以用它绕过JS本地验证

    使用burpsuite提交,本地文件先更改为jpg,上传时拦截,
    再把文件扩展名更改为php,最后forward即可
    

    讲道理还不如火狐F12开firebug直接改代码

    options

    设定监听ip和端口,网页设置需要和burpsuite中的设置一致。


    Intruder选项卡

    利用漏洞、Web应用程序模糊测试、进行暴力猜解等
    

    在那之前,先来解释一下认证的四个步骤。

    请求:
    客户端发起一条请求;第一条请求没有认证消息;
    质询:
    服务器对客户端进行质询;返回一条401 Unauthorized响应,
    并在Authenticate首部说明如何以及在哪里进行认证;
    授权:
    客户端收到401质询,弹出对话框,询问用户名和密码,
    用户输入用户名和密码后,客户端会用一个冒号将其连接起来,
    编码成“经过扰码的”Base-64表示形式,将其放在Authorization首部中回送;
    成功:
    服务器对用户名和密码进行解码,验证它们的正确性,
    然后用一条HTTP 200 OK报文返回所请求的报文.
    

    target

    设定目标ip和端口,不过如果是从proxy送来会自动设定好,不用管的

    positions

    先全都clear掉,然后再选中目标变量点add。
    其中,attack type的说明如下。

    Sniper:
    适用于单变量,提交时是逐个提交(每次一个)。
    Battering Ram:
    适用于同变量,提交时是批量提交(每次一批),
    如在头部带cookie和网页主体中同用一个username的HTTP请求。
    Pitchfork:
    适用于多变量,成对提交(每次一组),类似于同时提交A:B:C…,
    最多8个变量,提交的总次数是Max(A,B,C…)的数量。
    Cluster Bomb:
    适用于多变量,交叉提交(循环交叉),类似于A:B:C…,A:C:B…,B:A:C…,
    最多8个变量,提交的总次数为A*B*C。
    

    payloads

    Simple list:简单字典
    Runtime file:运行文件
    Custom iterator:自定义迭代器
    Character substitution:字符替换
    Recursive grep:递归查找
    lllegal unicode:非法字符
    Character blocks:字符块
    Numbers:数字组合
    Dates:日期组合
    Brute forcer:暴力破解
    Null payloads:空payload
    Username generator:用户名生成
    copy other payload:复制其他payload
    

    例如,www-authenticate传递给服务器的是用户名:口令的base64加密,那么可以在payload sets中选择Custom iterator,并在payload options中设置positions1为用户名字典,positions2为:,positions3为口令字典,payload processing设置为encode->base64 encode,并去掉payload encoding的勾选,最后点击intruder->start attack。
    (关于这一认证方式的详细说明,请参见https://blog.csdn.net/undoner/article/details/48050627

    results

    虽然还是没什么关系但万一有用呢
    如何分辨正确的用户名·密码组合?
    ①length ②status ③跳转
    长度可以排序,但是如果返回的长度都相同,就只能靠页面跳转来分辨了,因此,我们需要用到filter(过滤器)。
    filter的详细说明请参考https://segmentfault.com/a/1190000011523898

    regex:通过正则表达式匹配
    case sensitive:是否区分大小写
    negative search:消极搜索,选择后将筛选出不包含该关键字的请求
    

    例如登录界面是login.php,那么只需在过滤器中输入: login.php并勾选negative search,即可找到登录成功的请求,进而解码得到用户名和密码。

    相关文章

      网友评论

          本文标题:burpsuite相关

          本文链接:https://www.haomeiwen.com/subject/svmorftx.html