笔者6月份在慕课网录制视频教程XSS跨站漏洞 增强Web安全,里面须要讲到不少实战案例,在漏洞挖掘案例中分为了手工挖掘、工具挖掘、代码审计三部份内容,手工挖掘篇参考地址为快速找出网站中可能存在的XSS漏洞实践(一)https://segmentfault.com/a/1190000016095198
php
本文主要记录利用Web安全工具Burp suite进行XSS漏洞挖掘部分,分为了设置代理,漏洞扫描,漏洞验证三个部分,其中permeate
渗透测试系统的搭建能够参考第一篇文章。css
在本文中是使用的工具burp suite须要JAVA环境才能运行,因此须要事先安装好JAVA环境,JAVA环境安装方法本文中再赘述,读者能够自行搜索JAVA JDK环境安装
;html
burp suite的官网地址为:portswigger.net/burp/,打开官网后能够看到burp分为三个版本,分别是企业版、专业版、社区版本,在本文中笔者所使用的是专业版,参考下载地址以下:segmentfault
连接: https://pan.baidu.com/s/1H1ScgZTjPosZsdgjJDM4PA 提取码: s747
复制代码
下载并解压刚才所下载的zip文件,便能看到文件夹中有一些文件和文件夹,以下图所示 windows
在上图中能够看到有一个jar文件,此文件便为Java语言所开发,所以只要安装了JAVA环境便可运行,不论是windows仍是mac均可以运行此程序,双击BurpUnlimited.jar
打开此程序,打开以后会有一个提示,以下图所示浏览器
在提示框中告知该程序为破解版本,仅用来学习,若是能够请购买正版,这里点击肯定
按钮,会再次看到一个确认界面,任然点击Next
按钮,以下图所示安全
最后便能看到程序的界面,以下图所示bash
当打开程序看到上图界面时即是已经运行程序成功,下面便将进入burp suite的使用教程。微信
如今笔者的工具已经运行成功,接着便开始使用brup suite
开始挖掘出XSS漏洞,使用工具挖掘有三个步骤,第一步即是将一些基础信息给burp suite
,第二步则让burp suite
自行扫描出更多信息,第三步即是开始正是挖掘.cookie
如今笔者须要给工具提供一些基本信息,好比域名和URI地址以及cookie信息和其余各方面的数据;提供的方式有两种,第一种是本身手动去填写各项信息,第二种则是直接抓获浏览器的数据包给burp suite,而手动提供相比较为麻烦,所以笔者这里经过抓浏览器的数据包的方式,让工具本身去得到所需的数据;
抓包主要有三个步骤,首先须要让burp suite
开启代理服务,而后设置浏览器的代理地址,最后浏览器访问网址burpsuite即可以看到数据包,具体操做流程以下
burp suite
开启代理服务比较简单,笔者将上方选项卡切换到proxy
->Options
这个位置,能够看到其实工具已经默认其实已经开启代理服务127.0.0.1
地址,以下图所示
在上图中能够看到了127.0.0.1:8080
这个地址,此时已经开启代理服务,所以不须要再作任何设置。
如今代理服务已经打开,接着即是让浏览器的数据通过代理服务,笔者所使用的是谷歌浏览器,并安装了代理插件,这里将以插件设置代理的方式为例,以下图所示
从上图当中能够看到笔者所设置的协议为http代理,地址为127.0.0.1,端口信息为8080
接下来即是要进行代理的验证,最简单的验证方式即是经过浏览器打开网站,而后查看burp suite
可否抓到数据包,笔者在第一篇文章快速找出网站中可能存在的XSS漏洞实践(一)(https://segmentfault.com/a/1190000016095198
)当中已经安装好了对应的渗透测试系统,所以再也不重复说明,
在前面的准备操做以后,如今便进入了核心操做环节,用burp suite
进行抓包、爬虫、扫描等操做,分别对应的做用是经过抓包获取基本信息、经过爬虫获取即将被扫描的网站更多信息、经过扫描对获取到的信息进行暴力测试。
笔者如今以permeate
渗透测试系统的XSS漏洞挖掘为例,首先经过浏览器permeate渗透测试系统,URL地址以下:
http://permeate.songboy.net/
复制代码
按下回车键以后,浏览器此时应该是处于等待状态,此时回到工具burp suite
当中,能够看到已经抓到了数据包,以下图所示
点击工具中的Forward
按钮,即可以将此放开,此时浏览器所展示的界面以下图所示,说明页面已经被打开
再次刷新浏览器,依然能够抓取到数据包,此次笔者须要经过burp suite
去抓取permeate
渗透测试系统中的URL地址,这个过程笔者称之为爬虫,操做方式以下图所示
在数据包的位置,右键单击点击,出现选项,点击send to spider
以后,即可以在spier选项卡中能够看到以下图所示
在上图中能够看到burp suite已经找到了permeate中的46个连接地址,接着笔者切换到target
选项卡当中,以下图所示
在target
选项卡下,能够看到爬去到的全部连接地址
在收集到了permeate
渗透测试系统中的大部分URL的地址以后,就可使用burp suite
进行渗透测试工做,在渗透测试中会针对每个地址进行常规漏洞的测试,包含了SQL注入、XSS跨站、命令执行、CSRF、明文表单、文件包含等方面的漏洞
本文中笔者以XSS漏洞为例,在target
选项卡下,选中对应的域名地址,鼠标单击右键,即可以看到Actively scan this host
这一选项,以下图所示
点击以后该选项以后,便进入下一交互框当中,此时能够去除一些没有参数的URL地址,笔者这里勾选后将会去除没有参数的URL地址,以及后缀为js、gif、jpg、png、css的地址,以下图所示
点击下一步以后,即可以看到筛选后的URL地址,以下图所示
再次点击下一步以后,便开始进行了渗透测试,此时点击选项卡scanner即可以看到扫描的进度以及扫描的结果大体状态
工具burp suite
在扫描出漏洞以后会给出提示,但提示并非彻底准确,所以还须要人为的验证
渗透测试所花费的时间是是由URL数量和网速所决定的,一般须要必定的时间,笔者能够在选项卡Scanner
中的子选项卡Scan issue
中能够看到渗透测试的进度以及扫描的大体状况,好比有些项当中呈现出红色,则表明扫描到高危漏洞,以下图所示
当扫描完成以后,能够在Scanner
下的子选项卡Issue activity
中看到完整的结果,结果中的红色表示高危漏洞,橙色表示低危漏洞,灰色则表示提示性安全为题,笔者选中其中一个红色选项卡,类型为Cross-site scripting
,这个即是XSS漏洞,在下方能够看到的具体payload,以下图所示
在payload当中,点击右键单击即可以复制其URL地址,可将其URL地址用于漏洞验证使用,以下图所示
如今笔者经过浏览器人工的验证一下此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