网络安全自学篇:Burp Suite工具安装配置、Proxy基础用法
zhezhongyun 2024-12-31 15:47 65 浏览
一.Burp Suite工具安装及配置
1.Burp Suite
Burp Suite是用于Web应用安全测试、攻击Web应用程序的集成平台,它将各种安全工具无缝地融合在一起,以支持整个测试过程中,从最初的映射和应用程序的攻击面分析,到发现和利用安全漏洞。
Burp Suite为这些工具设计了许多接口,以加快攻击应用程序的过程。所有工具都共享一个请求,并能处理对应的HTTP 消息、持久性、认证、代理、日志、警报。Burp Suite结合先进的手工技术与先进的自动化,使你的工作更快,更有效,更有趣。
Burp Suite是Java编写的,所以在使用前需要安装JDK环境,这里不进行具体讲解如何安装JDK。作者从CSDN下载了一个版本,并能正常运行。
官方下载地址:https://portswigger.net/burp
2.安装
安装过程非常简单,傻瓜式点击“下一步”安装。
安装成功之后运行如下所示,点击“Next” -> “Start Burp”显示主界面。
3.功能
Burp Suite的模块几乎包含整个安全测试过程,从最初对目标程序的信息采集,到漏洞扫描及其利用,多模块间高融合的配合,使得安全测试的过程更加高效。主要模块如下 :
- Target(目标): 显示目标目录结构。
- Proxy(代理): Burp Suite设置代理,抓取数据包。用于拦截HTTP/S的代理服务器,作为浏览器和目标应用程序之间的中间件,允许你拦截、查看、修改两个方向上的原始数据流。
- Spider(蜘蛛): Burp Suite的蜘蛛功能是用来抓取Web应用程序的链接和内容等。
- Scanner(扫描器): 高级工具,它能自动地发现Web应用程序的安全漏洞。主要用来扫描Web应用程序漏洞,发现常见的web安全漏洞,但会存在误报的可能。
- Intruder(入侵): 一个定制的高度可配置工具,可以对Web应用程序进行自动化攻击和暴力猜解,如:枚举标识符,收集有用的数据,以及使用fuzzing技术探测常规漏洞。
- Repeater(中继器): 对数据包进行重放(手动操作来触发单独的HTTP请求),分析服务器返回情况和响应,判断修改参数的影响。
- Sequencer(会话): 用来检查Web应用程序提供的会话令牌的随机性,分析那些不可预知的应用程序会话令牌和重要数据项的随机性,并执行各种测试。
- Decoder(解码器): 对数据进行加解密操作,包含url、html、base64等等。
- Comparer(对比): 用来执行任意两个请求、响应或任何其它形式的数据之间的比较,通常是通过一些相关的请求和响应得到两项数据的一个可视化的“差异”。
- Extender(扩展): 加载Burp Suite的扩展,使用你自己的或第三方代码来扩展Burp Suite的功能。
- Options(设置): 对Burp Suite的一些设置,如burp、字体、编码等。
- Alerts(警告): 用来存放报错信息的,用来解决错误。
4.配置代理
(1)添加foxyproxy附件功能。
在“设置”->“添加附件”中搜索“foxyproxy”。
添加安装该附件,如下图所示。
点击添加安装。
添加成功之后,可以选择打开FoxyProxy功能或关闭,如下图所示。
(2)设置火狐浏览器Firefox本地代理。在“网络”中设置HTTP代理为127.0.0.1,端口号为9090。
(3)接着设置Burp Suite代理,添加127.0.0.1且端口号为9090的代理,并使用它。
(4)用火狐浏览器打开网站则可获取网页相关信息。
二.Burp Suite工具Tareget
浏该功能主要用于查看网站的目录及元素,这里以某学校的管理系统为例,该网站的目录显示如下。
获取内容包括Host、提交方法、URL、参数、状态码、标题、Comment、Time等,并且能够设置对应网址的注释Comment,如作者添加了“登录页面”注释。
右下部分能显示Request请求和Response响应信息,包括Raw、Headers、Hex、HTML等,如下图所示。
点击Site map左脚上部分,能够选择要显示的信息,包括显示HTML、CSS、Images等,显示状态码2xx、3xx、4xx、5xx等,显示和隐藏设置等。该功能可以按照请求类型、请求的状态、mime类型、搜索关键字、文件后缀、监听的端口等等,按个人需求去缩小需要的范围。
比如作者设置只显示2xx状态码页面,则显示如下图所示。
同时,可以为不同的条目自定义设置背景颜色,代表不同的功能或类型。如果认为某个数据包比较重要,可将当前数据包设置某个醒目的颜色以提示其重要性
选中链接右键能实现更多功能,比如Spider、Scope等。
Scope主要是配合Site map做一些过滤的功能,如图所示。
三.Burp Suite工具Proxy
Proxy主要包括Intercept、HTTP histroy 、Websockets history、Options四个标签。
参考文章:
- BurpSuite基础教程第八发:其他操作(HTTPS流量抓取&过滤器的使用)
- BurpSuite基础教程第二发:Proxy模块(代理模块)
- Web安全 — BurpSuite实战(上)
- 博客园Burp Suite使用介绍
- 《Web攻防之业务安全实战指南》作者:陈晓光等大神
1.Intercept模块
该模块主要是控制抓取到的数据包,用于显示修改HTTP请求及响应内容,并可以将拦截的HTTP请求快速发送至其他模块处理。
比如当“Intercept is on”开启时,火狐浏览器输入用户名和密码点击登录,则可以看到Burp Suite拦截的用户名和密码。
- Raw:以纯文本形式显示数据包
- Params:包含参数URL 查询字符串、cookies请求,并可双击该请求进行修改。
- Headers:以名称、值的形式显示获取的数据包。
- Hex:可编辑数据包的二进制数据,在进行00截断时非常好用。
- 拦截信息如下所示,其中密码为MD5加密。
POST /cas/login HTTP/1.1Host: xxxxx.edu.cnUser-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3Referer: http://xxxxx.edu.cn/cas/loginCookie: key_dcp_cas=nyfjdGZGmmYYdbN1fv2G349LydwzRhnrbGLqj4LMpRGd1YL3Qstl!-94055740Connection: closeContent-Type: application/x-www-form-urlencodedContent-Length: 221service=http%3A%2F%2Fi.xxxx.edu.cn%2Fdcp%2Findex.jsp&serviceName=null&loginErrCnt=0&username=20190804&password=e10adc3949ba59abbe56e057f20f883e&replace-pwd=...
在线解密,可以看到密码为“123456”,当然,这是错误的用户名和密码。
username=20190804 password=e10adc3949ba59abbe56e057f20f883e
2.HTTP histroy模块
该模块将记录经过代理服务器访问的所有请求,即使当Intercept is off时也会记录。包括Host(主机)、Method(请求方式)、URL(请求地址)、Params(参数)、Edited(编辑)、Status(状态)、Length(响应字节长度)、MIME type(响应的MLME类型)、Extension(地址文件扩展名)、Title(页面标题)、Comment(注释)、SSL、IP(目标IP地址)、Cookies、Time(发出请求时间)、Listener port(监听端口)。
当我们选中某个请求时,可以看他的请求包信息,同样也可查看他的响应包信息。
双击某个数据包即可打开详情,通过Previous/next功能切换到其他数据包,同时,也可将该数据包发送到其他功能模块当中。
3.Websockets history模块
该模块用于记录WebSockets的数据包,是HTML5中最强大的通信功能,定义了一个全双工的通信信道,只需Web上的一个 Socket即可进行通信,能减少不必要的网络流量并降低网络延迟。
4.Options模块
该模块主要用于设置代理监听、请求和响应、拦截反应、匹配和替换、ssl等。
(1)设置代理
侦听从您的浏览器传入的连接本地HTTP代理服务器。它允许您监视和拦截所有的请求和响应,并且位于BurpProxy的工作流的心脏。默认情况下,Burp默认监听12.0.0.1地址,端口8080。
(2)配置拦截规则
置拦截的匹配规则,当Intercept request based on the following rules为选中状态时,burpsuite会配置列表中的规则进行拦截或转发。注意:如果该复选框未选中,那么即使Intercept is on也无法截取数据包。
如下图所示,创建一个规则:只拦截请求头中匹配DVWA的数据包。在实际使用过中我们可能需要创建更多更复杂的规则,来找到想要的数据包。
(3)配置拦截规则 Intercept Server Responses
拦截response并修改response中的返回值。
(4)Response Modification
用于执行响应的自动修改,可以使用这些选项来自动修改HTML应用程序响应中匹配的内容。比如,设置高亮隐藏部分,勾选unhide hidden form fields(显示隐藏的表单,在html中type为hidden的表单)和prominently highlight unhidden fields(高亮隐藏部分)。
示例如下:
remove javascipt form validation 删除javascript表单验证。某些站点通过JavaScript过滤表单的内容,如字符串长度、文件后缀、字符串格式等,开启后删除验证javascript。
更详细的知识推荐读者阅读博客:
https://www.jianshu.com/p/73e1b0a974cc
四.Burp Suite工具暴库示例
下面以某网址为例,进行简单的暴库测试。注意,它是HTTP的登录请求。
第一步,用Burp Suite进行拦截请求,找到请求参数进行篡改。TextBoxUserName=15200000000
TextBoxPwd=111111
第二步,在界面中鼠标右键,在弹出菜单中选择“Send to Intruder”(Ctrl+I),此时会将请求数据分发给Intruder模块,并且Intruder变红。
第三步,使用Burp Suite工具中的Intruder模块进行破解参数配置,运行破解任务并成功破解用户名和密码。
(1)在Intruder模块中选择Positions选项,单击“Clear”按钮清楚相关默认参数前后的特殊符号“§”。
(2)鼠标选中请求数据页面中的Password参数值(需要进行暴力破解的密码值),单击“Add§”按钮进行位置标记。TextBoxPwd=§111111§
(3)选择Payloads选项,单击“Load items form file”,在弹出的对话框中选择暴力破解密码文件并单击“打开”按钮,将破解密码列表导入。
(4)单击“Start attack”按钮开始破解测试。
(5)在弹出的窗口“Intruder attack”中可以根据返回长度Length的不同判断破解是否成功,这里隐藏的密码是“013579”,它的长度最大并且为最终密码。注意,Length越大那么密码吻合就越大。
也可以通过查看Response返回信息或Status返回状态的不同信息判断是否成功。
错误的密码返回信息:
正确的密码返回信息:
(6)通过破解的密码尝试登陆。
(7)如果密码是经过MD5加密的,如上面第三部分测试的网站,则需要进行如下设置。在“Payload Processing”中点击“Add”添加哈希MD5加密。
此时点击攻击如下图所示,是经过加密的匹配。
个人建议,参考陈晓光大神的Web攻防书籍,也推荐大家阅读。
- 增加验证码,登录失败一次,验证码更换一次。
- 配置登录 失败次数限制策略,如同一用户尝试登录的情况下,5分钟内登录失败超过4次,则禁止用此用户在2小时内登录系统。
- 在条件允许情况下,增加手机接收短信验证码或邮箱接收邮件验证码,实现双因素认证的防暴力破解机制。
补充知识:
在系统登录时密码加密流程一般是先将用户名和密码发送到服务器,服务器会把用户提交的密码经过Hash算法加密后和数据库中存储的加密值比对,如果加密值相同,则判定用户提交密码正确。
但有些网站系统的流程是在前台浏览器客户端对密码进行Hash加密后传输给服务器并与数据库加密值进行对比,如果加密至相同,则判定用户提交密码正确。此种流程不是很好,它会泄露密码加密方式,导致安全隐患。
五.火狐浏览器HTTPS访问之安全证书安装
当我们想访问HTTPS网站时,需要导入Burp Suite安装证书并安装,基本流程如下:
第一步,配置好浏览器代理。
第二步,在地址栏输入http://burp,回车下载证书。注意这里的证书不能是零字节,不然去找破解版。
第三步,向浏览器中导入证书,在firefox中,选项-> 高级->证书->查看证书->证书机构。
第四步,导入证书,信任证书。
如下图所示:
第五步,找个HTTPS网站测试即可。但作者测试百度始终没有成果,拦截的网站也不对,无语~
参考:
https://blog.csdn.net/zyw_anquan/article/details/47904495
六.总结
写到这里,整篇文章结束了,其实网络安全还是挺有意思的,尤其是最后解决了一个问题之后。每一篇文章都是站在无数大神和大佬的肩膀之上,作为一个网络安全的初学者,深深地感受到自己有太多的东西需要学习,还好态度比较端正,每天都在一步一个脚印前行。 希望这篇基础性文章对你有所帮助,如果有错误或不足之处,还请海涵。后续将分享更多网络安全方面的文章了,从零开始很难,但秀璋会一路走下去的,加油。
- 上一篇:《JAVASCRIPT高级程序设计》第二章
- 下一篇:Python 标准库
相关推荐
- 激光手术矫正视力对眼睛到底有没有伤害?
-
因为大家询问到很多关于“基质不能完全愈合”的问题,有必要在这里再详细解释一下。谢谢@珍惜年少时光提出的疑问:因为手头刚好在看组织学,其中提到:”角膜基质约占角膜的全厚度的90%,主要成分是胶原板层,...
- OneCode核心概念解析——View(视图)
-
什么是视图?在前面的章节中介绍过,Page相关的概念,Page是用户交互的入口,具有Url唯一性。但Page还只是一个抽象的容器,而View则是一个具备了具体业务能力的特殊的Page,它可以是一个...
- 精品博文图文详解Xilinx ISE14.7 安装教程
-
在软件安装之前,得准备好软件安装包,可从Xilinx官网上下载:http://china.xilinx.com/support/download/index.html/content/xilinx/z...
- 卡片项目管理(Web)(卡片设计的流程)
-
简洁的HTML文档卡片管理,简单框架个人本地离线使用。将个人工具类的文档整理使用。优化方向:添加图片、瀑布式布局、颜色修改、毛玻璃效果等。<!DOCTYPEhtml><html...
- GolangWeb框架Iris项目实战-JWT和中间件(Middleware)的使用EP07
-
前文再续,上一回我们完成了用户的登录逻辑,将之前用户管理模块中添加的用户账号进行账号和密码的校验,过程中使用图形验证码强制进行人机交互,防止账号的密码被暴力破解。本回我们需要为登录成功的用户生成Tok...
- sitemap 网站地图是什么格式?有什么好处?
-
sitemap网站地图方便搜索引擎发现和爬取网页站点地图是一种xml文件,或者是txt,是将网站的所有网址列在这个文件中,为了方便搜索引擎发现并收录的。sitemap网站地图分两种:用于用户导...
- 如何在HarmonyOS NEXT中处理页面间的数据传递?
-
大家好,前两天的Mate70的发布,让人热血沸腾啊,不想错过,自学的小伙伴一起啊,今天分享的学习笔记是关于页面间数据伟递的问题,在HarmonyOSNEXT5.0中,页面间的数据传递可以有很多种...
- 从 Element UI 源码的构建流程来看前端 UI 库设计
-
作者:前端森林转发链接:https://mp.weixin.qq.com/s/ziDMLDJcvx07aM6xoEyWHQ引言由于业务需要,近期团队要搞一套自己的UI组件库,框架方面还是Vue。而业界...
- jq+ajax+bootstrap改了一个动态分页的表格
-
最近在维护一个很古老的项目,里面是用jq的dataTable方法实现一个分页的表格,不过这些表格的分页是本地分页。现在想要的是点击分页去请求数据。经过多次的修改,以失败告终。分页的不准确,还会有这个错...
- 学习ES6- 入门Vue(大量源代码及笔记,带你起飞)
-
ES6学习网站:https://es6.ruanyifeng.com/箭头函数普通函数//普通函数this指向调用时所在的对象(可变)letfn=functionfn(a,b){...
- 青锋微服务架构之-Ant Design Pro 基本配置
-
青锋(msxy)-Gitee.com1、更换AntDesignPro的logo和名称需要修改文件所在位置:/config/defaultSetting.jsconstproSett...
- 大数据调度服务监控平台(大数据调度服务监控平台官网)
-
简介SmartKettle是针对上述企业的痛点,对kettle的使用做了一些包装、优化,使其在web端也能具备基础的kettle作业、转换的配置、调度、监控,能在很大一定程度上协助企业完成不同...
- Flask博客实战 - 实现博客首页视图及样式
-
本套教程是一个Flask实战类教程,html/css/javascript等相关技术栈不会过多的去详细解释,那么就需要各位初学者尽可能的先去掌握这些基础知识,当然本套教程不需要你对其非常精通,但最起码...
- Web自动化测试:模拟鼠标操作(ActionChains)
-
在日常的测试中,经常会遇到需要鼠标去操作的一些事情,比如说悬浮菜单、拖动验证码等,这一节我们来学习如何使用webdriver模拟鼠标的操作首页模拟鼠标的操作要首先引入ActionChains的包fro...
- DCS F-16C 中文指南 16.9ILS仪表降落系统教程
-
10–ILS教程我们的ILS(仪表着陆进近)将到达Batumi巴统机场。ILS频率:110.30跑道航向:120磁航向/126真航向无线电塔频率:131.0001.设置雷达高度表开关打开(前)并...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 教程 (33)
- HTML 简介 (35)
- HTML 实例/测验 (32)
- HTML 测验 (32)
- JavaScript 和 HTML DOM 参考手册 (32)
- HTML 拓展阅读 (30)
- HTML常用标签 (29)
- HTML文本框样式 (31)
- HTML滚动条样式 (34)
- HTML5 浏览器支持 (33)
- HTML5 新元素 (33)
- HTML5 WebSocket (30)
- HTML5 代码规范 (32)
- HTML5 标签 (717)
- HTML5 标签 (已废弃) (75)
- HTML5电子书 (32)
- HTML5开发工具 (34)
- HTML5小游戏源码 (34)
- HTML5模板下载 (30)
- HTTP 状态消息 (33)
- HTTP 方法:GET 对比 POST (33)
- 键盘快捷键 (35)
- 标签 (226)
- HTML button formtarget 属性 (30)
- CSS 水平对齐 (Horizontal Align) (30)