开发者学堂课程【网络安全攻防 - Web渗透测试:Web 漏洞扫描之 BurpSuite(一)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/630/detail/9927
Web 漏洞扫描之 BurpSuite(一)
内容介绍
一、功能以及特点
二、项目实验环境
三、Burp Suite 安装
四、Burp Suite 使用
内容简介:
1、在前面讲到 web 漏扫工具,用到两款,一个是 awvs,一个是 appscan,现在介绍的是 burp suite 软件,这个软件在前面用过它一次,在文件上传漏洞的时候,去修改文件的 map 类型,通过它做一个代理,将整个请求做一个拦截,修改以后做一个转发,拦截代理功能只是它其中一个,今天介绍爬虫和扫描功能。代理,爬虫,扫描是它比较核心的功能,它还有一些攻击的功能。注意之前使用的版本是社区版,社区版上面没有扫描,没有 scan 功能,相当于是阉割版,如果没有扫描就没办法使用,就是比较强大的漏扫机制,必须使用另外一个版本 Professiona 专业版。专业版是需要付费的。
2、BurpSuite 是安全渗透界使用最广泛的漏扫工具之一, 能实现从漏洞发现到利用的完整过程。功能强大、配置较为复杂、可定制型强,支持丰富的第三方拓展插件。基于 Java 编写,需要安装 Java 环境,跨平台支持,分为 Free 和Professiona1版本,企业版,专业版和社区版。
官方下载链接:https://portswigger . net/burp/
企业版包括web漏洞扫描,scheduled 调度和重放的一些机制,还有其他的一些工具,包括持续化ci的集成。
专业版包括web漏洞扫描、Advanced manual tools、Essential manual tools。
社区版只有其中一项 Essential manual tools。
对于企业,专业版就够用了,有专业的漏扫,工具有就可以。
一、功能以及特点
1、功能:
核心功能:目标、代理、爬虫、扫描、入侵。
辅助功能:重放、序列器、解码器、对比。
拓展功能:拓展、项目选项、用户选项、报警。
目标是代理、爬虫、扫描、入侵的基础。没有目标就没办法做爬虫,扫描。
2、解释:
(1)Target:目标模块用于设置扫描域(target scope)、 生成站点地图(sitemap)、生成安全分析。
(2)Proxy:代理模块用于拦截浏览器的 http 会话内容。
(3)Spider:爬虫模块用于自动爬取网站的每个页面内容,并生成完整的网站地图。也是用来做自动化的一个漏扫,分为主动扫描和被动扫描,就是默认情况下只要把这个网站作为目标网站、目标站点,它就会自动的去调用它的被动扫描工具做一些常规的漏扫,常规可能不是完全的漏扫,是一部分的漏扫的行为。
(4)Scanner:扫描模块用于自动化检测漏洞,分为主动和被动扫描。
(5)Intruder:入侵(渗透)模块根据上面检测到的可能存在漏洞的链接,调用攻击载荷,对目标链接进行攻击。入侵模块的原理是根据访问链接中存在的参数/变量,调用本地词典、攻击载荷,对参数进行渗透测试。
(6)Repeater:重放模块用于实现请求重放,通过修改参数进行手工请求回应的调试。
(7)Sequencer:序列器模块用于检测参数的随机性,例如密码或者令牌是否可预测,以此判断关键数据是否可被伪造。
(8)Decoder:解码器模块用于实现对 URL、HTML、 Base64、 ASCII、 二/八/十六进制、哈希等编码转换。
(9)Comparer:对比模块用于对两次不同的请求和回应进行可视化对比,以此区分不同参数对结果造成的影响。
(10)Extender:拓展模块是 burpsuite 非常强悍的一个功能,也是它跟其他 Web 安全评估系统最大的差别。通过拓展模块,可以加载自己开发的、或者第三方模块,打造自己的 burpsuite 功能。通过 burpsuite 提供的 API 接口,目前可以支持 Java、Python、Ruby 三种语言的模块编写。
(11)Options:分为 Project/User Options,主要对软件进行全局设置。
(12)Alerts:显示软件的使用日志信息。
二、项目实验环境
1、目标靶机:
OWASP_ Brokeny_Web Apps_ VM_ 1.2
靶机还是 OWASP。
2、测试渗透剂:
win7/Kali
因为 burp suite 是 java 的一个工具,而 java 是可以跨平台的,或者可以在 java 上安装渗透剂。
三、Burp Suite 安装
1、kali linux:
集成 BurpSuite Free 版本,不支持 scanner 功能
https://j0h7dowa1i.feishu.cn/sheets/shtcn5FoSYCUmozl3PM
2、Windows:
BurpSuite Pro 1.7.30版本,支持全部功能
3、启动方法:
java -jar -Xmx1024M /burpsuite_ path/BurpHelper . jar
加上了对内存的调优,这样能够让使用变得更高效。Burp Suite 带有非常详细的帮助文档。
在 win7上面,装好 java 环境,就可以直接使用,burphelper 是破解工具,下面的是主程序。
双击破解工具,默认情况下是不会出现路径的,需要在 burpsuite jar 填写路径,这是第二次使用,所以会有路径,jvm option 位置可以调内存,调高一点。
现在使用的是专业版,因为社区版不具备漏扫功能。
启动临时项目,跟之前的都一样,使用默认参数。启动之后就可以看到 scanner 的标签,但是在 kali 里面是找不到这个标签的,首先现在是没有任何的目标,站点地图也没有。
scope 也没有,非常重要,是一个范围。
四、Burp Suite 使用
1、代理功能[Proxy]
(1)开启监听端口
(2)浏览器设置代理
(3)代理功能详解
(4)拦截账号信息
2、目标功能[Target]
设置目标域:
(1)Scope
有两个区域:Include in scope 包括的作用域、Exclude from scope 去除的作用域。
Host/IP range 访问过程中会自动记录,File这些“退出”相关的页面,不要点击/分析,防止爬虫过程中退出,最下面出现的网址不要拦截和分析。
(2)查看站点地图
设置过滤器。
3、具体使用过程
(1)后面 spider 和 scanner 会依照 Target 代理为基础,进行扫描或者爬取,这是它的范围,第一个就是需要设置一个范围,Include in scope 位置添加范围。如果是对靶机进行扫描或者是爬取,第一步要设置代理,它自己是不能直接的,必须要通过代理去访问网站的时候才可以,现在要对靶机进行扫描,但是很显然 spider 还是 scanner 都没有东西。
(2)第一步要先设置代理,它自己是不能直接设置的,必须要通过代理访问网站才可以,proxy-intercept 拦截不是必须的,不是要把这个页面拦截下来,这个是不需要的,需要它过这才可以,数据包过这里才可以,当前拦截功能是关着的,但是今天不用拦截功能,让它是关着的即可。options 这个选项定义了谁可以使用这个代理,这里是只有本机才可以使用代理。它的端口是在127的8080上面,可以点击它进行编辑,点击 yes。
(3)用 burp suite 这个软件无论是爬虫还是入侵还是漏扫都要以代理为基础,必须要有这个代理,数据包要过这里才可以。查看本机 IP 是165。
(4)关掉本机的防火墙。
(5)windows 在所有的接口80上监听等待代理,然后在下载软件的页面点击选项这个位置,连接设置,手动代理配置,192.168.106.165,端口8080。
(6)尝试访问192.168.106.134,可以看到代理工作是正常的。拦截状态关闭,要让数据包过来。
(7)在站点地图里面已经出现了134的地图,而且还出现了一些其他网址,这些不是主动去访问的,可能是其他程序去触发的,比如访问126.com。
(8)只要访问,只要做了代理,有人在用这个代理,target 这边就自动会出现网站的一些站点地图信息。第一显示上有点乱,第二站点地图里面有一些站点是灰色的,有一些颜色是正常的。
(9)spider 和 scanner 有两种模式,一种叫主动模式,一种叫被动模式,它已经被动的去做一些扫描和爬取,但不是全部。当访问某一个页面,发现其他页面也有,因为它有被动的爬取和扫描功能,开启时本身就有代理,但是它只允许本机访问。
(10)选择一个网站点右键会出现一些选项 add to scope 是范围,spider this host 是爬取这个网站,actively scan this host 是主动去扫描这个网站,delete host 是删除这个主机,copy url 等。
(11)首先要确认一下,要哪个网站,有可能是134,也有可能是下面子的一个 dvwa,点击右键也可以选择 scope,scope 里既没有包含也没有排除。
(12)全都会显示,把/dvwa 添加到 scope 里面之后发现显示上还是很乱,可以点击下图位置,选择 show only in-scope items,点击别的地方。
(13)界面就会变整洁。scope 是爬虫,scan 的基础,它是全局的 scope,还有局部的,后面在使用爬虫或是扫描还可以使用全局 scope 或者自定义 scope,自定义范围。
(14)最右边会出现一些漏扫结果,出现这种结果的原因是它有被动扫描,它有被动爬取。它如果是主动爬取,页面上应该全部呈现,获得整个站点的地图信息。
(15)target,proxy 好像没有用,但是它是后面的基础,没有开 proxy,开 proxy 不一定要开拦截,因为没打算拦截,只是为拿到整个的数据。http history 一样可以发送 soope,发送到 intruder,发送到 sequencer 都可以干这个事情,是相同的。
(15)这个网站很特别,火狐只要开了代理,它就会去访问一下火狐的官方网站,上面会有一个 success. txt,以证明这个代理是正常的。
(16)这是请求的信息。从左到右是,原始数据,参数,headers(get 头信息、host 启用什么网站、user-agent 代理等等),hex16进制信息,16制信息可以改,让它达到欺骗的目的,例如后缀不是 php 让上传,response 是响应。
(17)熟悉这 intercepf 和 option 这两个按钮,target 中的 site map 可以看出站点地图,内容,每一个请求的详细信息和漏扫产生的信息,最重要的是定义全局的 scope。
(18)还有排除,现在允许这个进行 scope,作为这个范围,如果它下面还有个地方不想去扫描,可以排除掉。最后设置路由器,只显示想要的内容。