说明:文章所有内容截选自用户“charger王”发布在实验楼上的项目教程【BurpSuite基础教程】;未经允许,禁止转载;
一、实验介绍
1.1 实验内容
本实验主要为大家介绍BurpSuite以及proxy功能的介绍和使用。
1.2 实验知识点
- BurpSutie的安装
- BurpSutie的使用
- BurpSuite之proxy模块的使用
二、Burpsuite工具
2.1 Burpsuite介绍
Burp Suite 是用于攻击web应用程序的集成平台。它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。所有的工具都共享一个能处理并显示HTTP消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架。
2.2 Burpsuite模块
此处输入图片的描述BurpSuite具有以下模块:
-
Target:包含了SiteMap,用你的目标应用程序的详细信息。它可以让你定义哪些对象在范围上为你目前的工作,也可以让你手动测试漏洞的过程,Target分为site map和scope两个选项卡。
-
Proxy:Proxy相当于BurpSuite的心脏,通过拦截,查看和修改所有的请求和响应您的浏览器与目标Web服务器之间传递。
-
Spider:通过跟踪 HTML 和 JavaScript以及提交的表单中的超链接来映射目标应用程序,它还使用了一些其他的线索,如目录列表,资源类型的注释,以及robots.txt文件。结果会在站点地图中以树和表的形式显示出来,提供了一个清楚并非常详细的目标应用程序视图。Burp Spider 能使你清楚地了解到一个 web 应用程序是怎样工作的,让你避免进行大量的手动任务而浪费时间,在跟踪链接,提交表单,精简 HTNL 源代码。可以快速地确人应用程序的潜在的脆弱功能,还允许你指定特定的漏洞,如 SQL 注入,路径遍历。
-
Scanner:是一个进行自动发现web应用程序的安全漏洞的工具。它是为渗透测试人员设计的,并且它和你现有的手动执行进行的 web 应用程序半自动渗透测试的技术方法很相似。
-
intruder:是burp 套件的优势,他提供一组特别有用的功能。它可以自动实施各种定制攻击,包括资源枚举、数据提取、模糊测试等常见漏洞等。在各种有效的扫描工具中,它能够以最细化、最简单的方式访问它生产的请求与响应,允许组合利用个人智能与该工具的控制优点。
-
sequencer: 对会话令牌,会话标识符或其他出于安全原因需要随机产生的键值的可预测性进行分析。
-
Decoder: 转化成规范的形式编码数据,或转化成各种形式编码和散列的原始数据。它能够智能识别多种编码格式,使用启发式技术。
-
Compare: 是一个简单的工具,执行比较数据之间的任何两个项目(一个可视化的“差异”)。在攻击一个Web 应用程序的情况下,这一要求通常会出现当你想快速识别两个应用程序的响应之间的差异(例如,入侵者攻击的过程中收到的两种反应之间之间,或登录失败的反应使用有效的和无效的用户名)之间,或两个应用程序请求(例如,确定不同的行为引起不同的请求参数)
三、实验步骤
3.1 BurpSuite的下载使用
通过以下命令,下载Burpsutie
wget http://labfile.oss.aliyuncs.com/courses/726/burpsuite_free.jar
此处输入图片的描述
执行命令
/usr/bin/java -Xmx2g -jar burpsuite_free.jar
启动BurpSuite,点击Next一直出现start burp为止。
3.2 设置网页的代理
打开Firefox浏览器,点击右上角的按钮进入首选项设置页面,在高级设置里面点击网络标签,点击设置,点击手动配置代理按钮进行手动设置。
此处输入图片的描述在Burpsuite中点击Proxy标签,在子标签中点击Options标签,启用127.0.0.1:8080进行代理。
此处输入图片的描述在intercept标签中,我们可以看到intercept is on 表明拦截已经开启,现在我们浏览器中输入www.shiyanlou.com。会发现网页一直处于加载状态,回到Burpsuite页面会发现Proxy模块进行了黄灯标记。
此处输入图片的描述点击forward按钮可以将拦截的流量进行放行(Drop进行丢弃),直到网页加载完毕。
四、BurpSuite proxy 模块
Proxy代理模块作为BurpSuite的核心功能,拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。
Burp 代理允许你通过监视和操纵应用程序传输的关键参数和其他数据来查找和探索应用程序的漏洞。通过以恶意的方式修改浏览器的请求,Burp 代理可以用来进行攻击,如:SQL 注入,cookie 欺骗,提升权限,会话劫持,目录遍历,缓冲区溢出。拦截的传输可以被修改成原始文本,也可以是包含参数或者消息头的表格,也可以十六进制形式,甚至可以操纵二进制形式的数据。在 Burp 代理可以呈现出包含 HTML 或者图像数据的响应消息。
此处输入图片的描述
4.1 模块说明
- intercept:用于显示和修改Http请求和相应,通过你的浏览器和web服务器之间拦截流量实现功能,在Proxy的选项中,可以配置拦截规则来确定是什么请求和相应被拦截(例如,范围内的项目,特定文件扩展名、项目要求与参数)
- forward:当你编辑之后,发送信息到服务器或浏览器
- Drop:当你不想发送这次信息可以点击drop放弃这个信息
- interceptionis on/off: 这个按钮用来切换和关闭所有拦截,如果按钮显示interceptions on,表示请求和相应将被拦截或自动转发,根据配置的拦截规则配置代理选项,如果按钮显示interception is off则显示拦截之后的所有信息将自动转发。
-
Action:说明一个菜单可用的动作行为操作可以有哪些操作功能:
此处输入图片的描述
- Send to Spider 发送给spider进行爬取
- Do an active scan 执行主动扫描
- Send to Intruder 发送到入侵者
- Send to Repeater 发送到中继器
- Send to Sequencer 发送到序列发生器
- Send to Comparer 发送到比较器
- Send to Decoder 发送到解码器
- Request in browser 在浏览器的请求
- Engagement tools 参与工具
- Change request method 对所有的请求,经过把所有相关的请求参数适当地搬迁到这个请求里来,你就可以自动地把请求的方法在 POST 和 GET 中间切换。通过发送恶意的请求使用这个选项来快速测试应用程序的极限参数是多少。
- Change body encoding 对于所有的请求,你可以在应用程序/X-WWW 格式的 URL 编码和多重表单/数据之间切换消息体的编码方式。
- Copy URL 把当前的 URL 完整地复制到粘贴板上。
- Cope as curl command 作为curl命令
- Cope to file 这个功能允许你把选择一个文件,并把消息的内容复制到这个文件里。这个对二进制数据来说是很方便的,要是通过粘贴板来复制会带来一些问题。复制操作是在选择的文本上进行的,如果没有被选中的内容,则是针对整个消息了。
- Pase form file 这个功能允许你选择一个文件,并把文件里的内容粘贴到消息里。这个对二进制数据来说是很方便的,要是通过粘贴板来复制会带来一些问题。粘贴操作会替换掉被选中的内容,如果没有内容被选中,则在光标位置插入这些内容。
- Save item 这个功能让你指定一个文件,把选中的请求和响应以XML的格式保存到这个文件,这里面包括所有的元数据如:响应的长度,HTTP 的状态码以及 MIME 类型。
- Don't intercept requests 通过这些命令可以快速地添加拦截动作的规则来阻止拦截到的消息,这些消息和当前的消息有着相同的特征(如远程主机,资源类型,响应编码)。
- Do intercept 仅对请求有效,这允许你可以对当请求和响应的进行强制拦截。
- Convert seiection 这些功能让你能够以多种方案对选择的文本进行快速的编码和解码。
- URL-encode as you type 如果这个选项被打开,你输入的像&和=这样的符号会被等价的 URL编码代替。
- Cut 剪切
- Copy 复制
- Paste 粘贴
- Message edit help 消息编辑帮助
- Proxy interception help 代理拦截帮助
4.2 History标签说明
-
Http History:这个选项是来显示所有请求产生的细节,显示的有目标服务器和端口,Http方法,URL,以及请求中是否包含参数或被人修改,Http的相应状态吗,响应字节大小,响应的MIME类型,请求资源的文件类型,HTML页面的标题,是否使用ssl,远程IP地址,服务器设置的cookie,请求的时间。在记录表中,右击一个或多个选项,就会显示一个上下文菜单让你执行一些操作,包括修改目标范围,把这些选项发送到其他Burp工具中,或者删除这些项。
此处输入图片的描述- Add to scope 添加范围
- Spide from here 蜘蛛爬取从当前地址开始
- Do an active scan 执行主动扫描
- Do a passive scan 做被动扫描
- Send to Intruder 发送到入侵者
- Send to Repeater 发送到中继器
- Send to Sequencer 发送到序列生成器
- Send to Comparer(request) 发送到比较器(请求)
- Send to Comparer(response) 发送到比较器(响应)
- Show response in browser 在浏览器中显示响应
- Request in browser 浏览请求
- Engagement tools 接合工具
- Show new History windows 显示新的历史窗口
- Add comment 添加评论
- Highlight 高亮部分
- Delete item 删除项目
- Clear history 清除历史记录
- Copy URL 复制网址
- Copy as curl command 复制为curl命令
- Copy links 复制链接
- Save item 保存项目
- Proxy history help 代理历史帮助
而且还可以通过配置过滤器来确定哪些顶层的数据项显示在表格里。有效应用程序包含了大量的内容,如图像,CSS 等,这些有利于从视图上隐藏的。AJAX 应用程序产生大量相似的异步请求,你可能会想把他们从视图上过滤出来来查看一些感兴趣的项。在这个历史记录表的顶部有一个过滤栏。单击会有一个弹出窗口,让你来精准地配置显示哪些内容在表格里:
此处输入图片的描述
- options:该选项主要用于设置代理监听、请求和响应,拦截反应,匹配和替换,ssl等,其中有八大选项:Proxy Listeners、Intercept Client Requests、Intercept Server Responses、Intercept WebSockets Messages、Response Modification、Match and replace、SSL Pass Through、Miscellaneous
五、实验总结
通过上述实验我们了解到了BurpSuite的安装和简单使用,以及proxy模块的使用和各个功能的设置。请大家花时间去查询关于option模块的8大选项的设置和具体功能。
最后:
文章截选的是实验楼项目教程【BurpSuite基础教程】第一节,该教程总共6节内容,项目列表如下:
image.png想要完整学习BurpSuite的,点击【BurpSuite基础教程】即可~
网友评论