一年一度的Burpsuite过期的时间又到了,Burpsuite作为Web安全者必不可少的一件神器,其实有很多实用的技巧,本篇文章的目的是抛砖引玉,通过分享一些渣渣技巧,可能会帮助解决一些egg hurt的问题。
看过一些文章,freebuf中很多文章的评论很可能比文章本身更有技巧和使用价值,欢迎大佬指教。另外,本篇文章不是burpsuite的科普贴,并不会介绍各个模块的功能,只是一些小trick。最后,文末有彩蛋,伸手党可以直达。
0×01 burpsuite中文乱码问题
这个是很多初学者会遇到的蛋疼问题。
我们新建一个php文件,输出”街上打滚”,然后使用firefox访问,正常显示中文。
然后我们查看burp,默认情况下,可以看到显示的是□□□□
这个难道是字符集的问题吗,实际上,如果大家把这四个框框复制之后粘贴到word上,就会显示“街上打滚”。
所以可以知道这个问题其实是burpsuite本身界面显示的问题。
那么,第一个想到的应该是更改显示。
在burp的用户选项下,有一个display选项。
有的人可能会认为是character set的问题,我们来试一下。
默认的character set的选项是这样的。
我们试着修改一下为GBK或者UTF8,然而并没有什么卵用。
其实正确的做法是,更改显示的字体,这里我们修改为微软雅黑,当然你也可以选择宋体隶书啥的,只要支持中文的字体就ok。
改完之后,是不是神清气爽,以后遇到各种json字符串的时候就不会看得蛋疼了。
0×02 burpsuite持续重放报文
我们都知道burpsuite的repeater可以重放报文,但是有时候遇到需要持续发送某个报文问题的时候,比如时间竞争等,难道一直点go吗。
当然,我们可以写python脚本,很简单啊。
但是这样不够直观,输出满天飞。当然,大佬也完成增加脚本的功能来保存查看内容,进行对比,甚至写个界面来展示。自己动手丰衣足食,不过针对初学者,还是有一些技巧。
其实,我们完全可以借助burp已有的模块完成这个功能,节省时间,输出的结果也直观具体,便于对比。
接下来是解决问题的原始版本和强迫症版本:
原始版本
我们知道burp有intruder功能,可以通过添加各种参数来重放报文,这样我们选择intruder,在一个不会影响报文结果的位置随意添加一个参数$1$。
然后在payload选项里面添加numbers型payload,从1到N,这样重复的次数显示为unknown,即可放心一直重放。
这样就能满足我们持续重放报文的要求。
强迫症版本
一般情况下这样就够了,但是强迫症患者可能不会满意,因为报文被插入了其他东西。比如firefox版本后面加入了226,某些情况下可能造成bug。
如果我们想完全不插入任何东西咋整。
这样,我们可以选择NULL payload,然后选择continue,这样payload count又是unknow,即可以发送到天荒地老。
而且报文不会有任何形式的改变。
payload还有更多的类型和技巧,大家可以自己挖掘。
0×03 burpsuite模拟DOS攻击
通过burpsuite也可能完成小规模的DOS攻击,特别是在内部测试某些资源消耗型问题的时候,不需要下载各种其他工具,也不需要编写脚本。
直接使用burpsuite intruder,结合上述持续重放技巧,使用单台机器就可以造成DOS攻击。
普通的instruder配置,一般来说达不到DOS攻击的效果,因为默认是5个线程在发送报文。
实际上,我们完成修改到100倍以上,使得线程数量为999,失败重试次数为20,暂停秒数为0,可以完全达到小型DOS工具的效果,享受飞一般的感觉。
0×04 burpsuite上传/直接POST文件
很多时候我们需要构造上传包,然后使用burp截获包内容改包,这样又要写一串html。
实际上,使用burp可以直接完成上传文件的功能,通过右键选择paste from file即可。
还有,CSRF跨站请求伪造,又到了懒得写html的时候。
burpsuite也可以帮我们完成比较简单的form类csrf POC构造。不过,高级的js代码还得自己动手。
0×05 彩蛋
快过年了,burp也过期了,咋整。动手党肯定没什么问题,搜索下Burp时间到期问题解决办法。
伸手党可以点击:【传送门】
感谢下大神的release,仅供学习参考,你懂得。
如果还有更多更好的办法或者技巧,请在评论中分享,互相学习,感谢各位大佬!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/54657.html