本实验主要介绍了burpsuite的简介及MIME上传绕过,通过本实验的学习,你能够了解burpsuite以及文件上传检测,掌握burpsuite中Proxy模块和Target模块的使用,学会使用burpsuite绕过服务端MIME类型检测。
链接:http://www.hetianlab.com/expc.do?ce=3c927b78-7f45-41b5-bb41-dce96d459e3f
实验所属系列:web安全
实验对象:本科/专科信息安全专业
相关课程及专业:信息网络安全概论
实验类别:实践实验类
本实验要求实验者具备如下的相关知识。
了解burpsuite
Burp Suite是用于攻击web应用程序的集成平台。包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。所有的工具都共享一个能处理并显示HTTP消息,持久性,认证,代理,日志,警报的可扩展的框架。
在一个工具处理HTTP请求和响应时,它可以选择调用其他任意的 Burp 工具。例如,代理记录的请求可被Intruder用来构造一个自定义的自动攻击的准则,也可被 Repeater 用来手动攻击,也可被 Scanner 用来分析漏洞,或者被 Spider(网络爬虫)用来自动搜索内容。
Burpsuite主要有如下模块/功能:
Target,显示目标站点目录结构
Proxy,是一个拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。
Spider,是一个应用智能感应的网络爬虫,它能完整的枚举应用程序的内容和功能。
Scanner,是一个高级工具,执行后,它能自动地发现web 应用程序的安全漏洞。
Intruder,是一个定制的高度可配置的工具,对web应用程序进行自动化攻击,如:枚举标识符,收集有用的数据,以及使用fuzzing 技术探测常规漏洞。
Repeater,是一个靠手动操作来触发单独的HTTP 请求,并分析应用程序响应的工具。
Sequencer,是一个用来分析那些不可预知的应用程序会话令牌和重要数据项的随机性的工具。
Decoder,是一个进行手动执行或对应用程序数据者智能解码编码的工具。
Comparer,通常是通过一些相关的请求和响应得到两项数据的一个可视化的“差异”。
Extender,可以让你加载Burp Suite的扩展,使用你自己的或第三方代码来扩展Burp Suit的功能。
Options,对Burp Suite的一些设置
了解服务端MIME类型检测
服务端MIME检测类型图片上传过程中http包的Content-Type是否为image/jpeg,如果是就可以成功上传。相关源代码:
可以看到红色区域中的if语句只对Content-Type和图片的大小做了判断。
通过本实验了解利用Burpsuite绕过MIME上传检测的过程。
服务器:win2003,IP地址:10.1.1.59:81
测试者:win7,IP地址随机
使用Burpsuite的代理功能
访问http://10.1.1.59:81,输入用户名:admin,密码:password,打开burpsuite,设置好浏览器代理,点击sql injection:
单击右键,如下图所示:
Send to XXX分别表示将截获的数据发送到各个模块,然后在各个模块下进行下一步操作。
下拉菜单 点击Send to Spider切换到Spider模块下,burpsuite会自动对网站进行爬行,切换到Control选项卡下可以查看爬行的状态和设置爬行范围,Options选项卡中可以进行爬行的设置等。一段时间后切换到Target模块查看结果:
Change request method表示更改请求方式,如之前使用的GET请求,点击Change request method后为变为POST:
Don’t intercept requests表示不截获请求,比如我们选择To this host,在Intercept is on时burp也不对此主机的请求做拦截。我们就可以正常访问该网页了。
然后切换到Proxy的Options选项卡下,查看Intercept Client Requests,已经增加了一条记录:
Do intercept下Response to this request功能可用于对服务端发送过来的信息做修改来欺骗浏览器。
如果开启URL-encode as you type表示对你输入的&,=等字符将会被URL编码替换。
Target模块
这个模块下有两个选项卡,Site map主要是将爬行的站点以树形结构显示,Scope主要是用来设置范围进行过滤。
有时当我们对一个目标网址进行测试时,Site map下会出现许多不相关的网址,我们可以使用Filter来过滤,只留下目标网址:
点击Filter,勾选Show only in-scope items:
此时Site map下只剩下目标网址了:
点击Remove from scope,比如我此时选择css,该目录就会消失,对应的Scope选项卡下便会多出一条记录:
点击Spider this branch,burp就会对该目录进行爬行;
点击Expand branch来展开分支:
其他功能不是很常用,有兴趣的同学可以自行研究。
Site map选项卡右边可以看到一些请求的信息,在Host下可以选择对链接进行高亮显示,comment下可以添加注释,针对单个链接也可进行右键操作。
任务:使用burpsuite上传绕过服务端MIME类型检测。
首先在桌面上新建一个1.txt,此处我写入“hello_world”:
因为目标主机只允许我们上传jpg文件,那么我们下载就要绕过这个限制,上传一个txt文件上去。
打开http://10.1.1.59:81,输入用户名:admin 密码:password,点击Upload:
设置好浏览器代理后,我们选择我们刚才创建的txt文件进行上传。此时burpsuite已经截获到了数据包,我们右击选择“send to reprater”:
切换到Repeater中将Content-Type后的text/plain修改为image/jpeg:
点击go,从右侧可以看到已经上传成功,在右下方输入1.txt进行搜索刚才上传的图片:
关闭代理,打开搜索到的路径: