您的位置:首页 > 运维架构 > 网站架构

通过Web安全工具Burp suite找出网站中的XSS漏洞实战(二)

2018-10-08 10:17 751 查看

一、背景

笔者6月份在慕课网录制视频教程XSS跨站漏洞 加强Web安全,里面需要讲到很多实战案例,在漏洞挖掘案例中分为了手工挖掘、工具挖掘、代码审计三部分内容,手工挖掘篇参考地址为快速找出网站中可能存在的XSS漏洞实践(一)

https://segmentfault.com/a/1190000016095198

本文主要记录利用Web安全工具Burp suite进行XSS漏洞挖掘部分,分为了设置代理,漏洞扫描,漏洞验证三个部分,其中

permeate
渗透测试系统的搭建可以参考第一篇文章。

二、操作概要

  1. 下载工具
  2. 设置代理
  3. 漏洞扫描
  4. 漏洞验证

三、下载工具

3.1 安装JDK环境

在本文中是使用的工具burp suite需要JAVA环境才能运行,所以需要事先安装好JAVA环境,JAVA环境安装方法本文中再赘述,读者可以自行搜索

JAVA JDK环境安装

3.2 下载工具

burp suite的官网地址为:https://portswigger.net/burp/,打开官网后可以看到burp分为三个版本,分别是企业版、专业版、社区版本,在本文中笔者所使用的是专业版,参考下载地址如下:

链接: https://pan.baidu.com/s/1H1ScgZTjPosZsdgjJDM4PA 提取码: s747

下载并解压刚才所下载的zip文件,便能看到文件夹中有一些文件和文件夹,如下图所示

3.3 工具运行

在上图中可以看到有一个jar文件,此文件便为Java语言所开发,因此只要安装了JAVA环境即可运行,不管是windows还是mac都可以运行此程序,双击

BurpUnlimited.jar
打开此程序,打开之后会有一个提示,如下图所示

在提示框中告知该程序为破解版本,仅用来学习,如果可以请购买正版,这里点击

确定
按钮,会再次看到一个确认界面,任然点击
Next
按钮,如下图所示

最后便能看到程序的界面,如下图所示

当打开程序看到上图界面时便是已经运行程序成功,下面便将进入burp suite的使用教程。

四、设置代理

现在笔者的工具已经运行成功,接着便开始使用

brup suite
开始挖掘出XSS漏洞,使用工具挖掘有三个步骤,第一步便是将一些基础信息给
burp suite
,第二步则让
burp suite
自行扫描出更多信息,第三步便是开始正是挖掘.

现在笔者需要给工具提供一些基本信息,比如域名和URI地址以及cookie信息和其他各方面的数据;提供的方式有两种,第一种是自己手动去填写各项信息,第二种则是直接抓获浏览器的数据包给burp suite,而手动提供相比较为麻烦,因此笔者这里通过抓浏览器的数据包的方式,让工具自己去获得所需的数据;

抓包主要有三个步骤,首先需要让

burp suite
开启代理服务,然后设置浏览器的代理地址,最后浏览器访问网址burpsuite便可以看到数据包,具体操作流程如下

4.1 打开代理

burp suite
开启代理服务比较简单,笔者将上方选项卡切换到
proxy
->
Options
这个位置,可以看到其实工具已经默认其实已经开启代理服务
127.0.0.1
地址,如下图所示

在上图中可以看到了

127.0.0.1:8080
这个地址,此时已经开启代理服务,因此不需要再做任何设置。

4.2 浏览器设置

现在代理服务已经打开,接着便是让浏览器的数据经过代理服务,笔者所使用的是谷歌浏览器,并安装了代理插件,这里将以插件设置代理的方式为例,如下图所示

从上图当中可以看到笔者所设置的协议为http代理,地址为127.0.0.1,端口信息为8080

4.3 抓包验证

接下来便是要进行代理的验证,最简单的验证方式便是通过浏览器打开网站,然后查看

burp suite
能否抓到数据包,笔者在第一篇文章快速找出网站中可能存在的XSS漏洞实践(一)(
https://segmentfault.com/a/1190000016095198
)当中已经安装好了对应的渗透测试系统,因此不再重复说明,

五、漏洞扫描

在前面的准备操作之后,现在便进入了核心操作环节,用

burp suite
进行抓包、爬虫、扫描等操作,分别对应的作用是通过抓包获取基本信息、通过爬虫获取即将被扫描的网站更多信息、通过扫描对获取到的信息进行暴力测试。

5.1 数据抓包

笔者现在以

permeate
渗透测试系统的XSS漏洞挖掘为例,首先通过浏览器permeate渗透测试系统,URL地址如下:

http://permeate.songboy.net/

按下回车键之后,浏览器此时应该是处于等待状态,此时回到工具

burp suite
当中,可以看到已经抓到了数据包,如下图所示

点击工具中的

Forward
按钮,便可以将此放开,此时浏览器所展现的界面如下图所示,说明页面已经被打开

5.2 爬去链接

再次刷新浏览器,依然可以抓取到数据包,这次笔者需要通过

burp suite
去抓取
permeate
渗透测试系统中的URL地址,这个过程笔者称之为爬虫,操作方式如下图所示

在数据包的位置,右键单击点击,出现选项,点击

send to spider
之后,便可以在spier选项卡中可以看到如下图所示

在上图中可以看到burp suite已经找到了permeate中的46个链接地址,接着笔者切换到

target
选项卡当中,如下图所示

target
选项卡下,可以看到爬去到的所有链接地址

5.3 挖掘漏洞

在收集到了

permeate
渗透测试系统中的大部分URL的地址之后,就可以使用
burp suite
进行渗透测试工作,在渗透测试中会针对每一个地址进行常规漏洞的测试,包含了SQL注入、XSS跨站、命令执行、CSRF、明文表单、文件包含等方面的漏洞

本文中笔者以XSS漏洞为例,在

target
选项卡下,选中对应的域名地址,鼠标单击右键,便可以看到
Actively scan this host
这一选项,如下图所示

点击之后该选项之后,便进入下一交互框当中,此时可以去除一些没有参数的URL地址,笔者这里勾选后将会去除没有参数的URL地址,以及后缀为js、gif、jpg、png、css的地址,如下图所示

点击下一步之后,便可以看到筛选后的URL地址,如下图所示

再次点击下一步之后,便开始进行了渗透测试,此时点击选项卡scanner便可以看到扫描的进度以及扫描的结果大致状态

六、漏洞验证

工具

burp suite
在扫描出漏洞之后会给出提示,但提示并不是完全准确,因此还需要人为的验证

6.1 查看进度

渗透测试所花费的时间是是由URL数量和网速所决定的,通常需要一定的时间,笔者可以在选项卡

Scanner
中的子选项卡
Scan issue
中可以看到渗透测试的进度以及扫描的大致情况,比如有些项当中呈现出红色,则代表扫描到高危漏洞,如下图所示

6.2 扫描结果

当扫描完成之后,可以在

Scanner
下的子选项卡
Issue activity
中看到完整的结果,结果中的红色表示高危漏洞,橙色表示低危漏洞,灰色则表示提示性安全为题,笔者选中其中一个红色选项卡,类型为
Cross-site scripting
,这个便是XSS漏洞,在下方可以看到的具体payload,如下图所示

在payload当中,点击右键单击便可以复制其URL地址,可将其URL地址用于漏洞验证使用,如下图所示

6.3 漏洞验证

现在笔者通过浏览器人工的验证一下此payload是否真正存在,刚才笔者已经将带有payload的地址复制了下来,URL地址如下

http://permeate.songboy.net/home/index.php?m=tiezie2eir%3cscript%3ealert(1)%3c%2fscript%3eftspc&a=index&bk=10

验证的时候注意一定不要使用谷歌内核的浏览器,因为谷歌内核浏览器自带XSS筛选器,会到导致网站及时存在反射型的XSS也无法复现

因此笔者使用火狐浏览器进行漏洞验证,如下图所示

七、新书推荐

如果对笔者的Web安全文章较为感兴趣,可以关注笔者更多文章内容,新书《PHP Web安全开发实战》,现已在各大平台销售,封面如下图所示

作者:汤青松

微信:songboy8888

日期:2018-10-09

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: