当前位置: 首页 > 后端技术 > PHP

使用Web安全工具Burpsuite查找网站XSS漏洞(二)

时间:2023-03-29 17:30:45 PHP

1.背景作者6月份在MOOC上录制了XSS跨站漏洞视频教程,加强Web安全。这需要讲很多实战案例。漏洞挖掘案例分为人工挖掘、工具挖掘和代码审计三个部分。手动挖矿的参考地址是为了快速找到网站可能存在的XSS漏洞。实践(一)https://segmentfault.com/a/1190000016095198本文主要记录的是使用web安全工具Burpsuite挖掘XSS漏洞,分为代理设置、漏洞扫描、漏洞三部分确认。渗透渗透测试系统的搭建请参考第一篇。2.操作总结下载工具设置代理漏洞扫描漏洞验证3.下载工具3.1安装JDK环境本文中工具burpsuite需要JAVA环境运行,所以需要提前安装好JAVA环境,JAVA环境安装方法将在本文中重复,读者可自行搜索JAVAJDK环境安装;3.2下载工具burpsuite官网地址为:https://portswigger.net/burp/,打开官网后可以看到burp分为三个版本,分别是企业版、专业版和社区版版本。在本文中,笔者使用的是专业版。参考下载地址如下:链接:https://pan.baidu.com/s/1H1ScgZTjPosZsdgjJDM4PA提取码:s747下载解压刚刚下载的zip文件,可以看到文件夹中有一些文件和文件夹,如下图所示。可以运行,不管是windows还是mac,都可以运行这个程序。双击BurpUnlimited.jar打开这个程序。打开后会有提示。如下图,提示框会提示程序为破解版,仅供学习使用。如果可以购买原版,点击这里的OK按钮,又会看到一个确认界面,然后点击Next按钮,如下图,最后就可以看到程序界面了,如图下面,当你打开程序看到如上界面,即程序已经运行成功,下面将进入burpsuite的使用教程。4.设置代理既然笔者的工具已经运行成功,我就开始使用brup套件开始挖掘XSS漏洞。使用工具挖出需要三个步骤。第一步是给burpsuite一些基本信息,第二步是让burpsuite自己扫描更多的信息,第三步是开始挖掘。现在作者需要向工具提供一些基本信息,比如域名和URI地址、cookie信息等数据;有两种提供方式,第一种是自己手动填写信息,第二种是直接抓取浏览器的数据包给burpsuite,手动提供比较麻烦,所以笔者这里使用抓取浏览器数据包的方法,让工具自己获取需要的数据;抓包主要分为三个步骤。首先需要开启burpsuite开启代理服务,然后设置浏览器的代理地址。最后浏览器访问burpsuite的url就可以看到数据包了。具体操作过程如下4.1开启代理Burp套件开启代理服务比较简单。我把上面的tab切换到proxy->Options,可以看到工具已经默认开启了代理服务127.0.0.1地址,如上图。可以看到地址127.0.0.1:8080,此时已经开启了代理服务,所以不需要做任何设置。4.2浏览器设置代理服务已经开启,接下来就是让浏览器数据通过代理服务。笔者使用谷歌浏览器并安装了代理插件。这里我们以插件设置代理的方式为例,如下图上图可以看到作者设置的协议是http代理,地址是127.0.0.1,端口信息为80804.3。数据包捕获验证下一步是验证代理。最简单的验证方式是浏览器用浏览器打开网站,然后检查burpsuite是否能抓到数据包。在第一篇文章中,作者很快找出了网站(一)(https://segmentfault.com/a/1190000016095198)可能存在的XSS漏洞。已经安装了相应的渗透测试系统,不再赘述。5.漏洞扫描经过前面的准备操作,现在进入核心操作环节,使用burpsuite进行抓包、爬虫、扫描等操作,分别对应的功能是通过抓包获取基本信息,获取更多信息通过爬虫获取待扫描网站,对扫描获取的信息进行暴力测试。5.1数据抓取笔者现以渗透测试系统XSS漏洞挖掘为例。首先通过浏览器渗透渗透测试系统,URL地址如下:http://permeate.songboy.net/回车后,浏览器此时应该处于等待状态。回到工具burpsuite,可以看到数据包已经抓取到。单击工具中的前进按钮,如下图所示,将其释放。此时浏览器显示如下图所示界面,表示页面已经打开。5.2爬上链接,再次刷新浏览器,依然可以抓到数据包。这次笔者需要使用burpsuite来抓取渗透渗透测试系统中的URL地址。这个过程作者称之为爬虫。操作方法如下图所示。右击数据包所在位置,出现选项。点击sendtospider后,可以在spier标签中看到,如上图。可以看到burpsuite在permeate中找到了46个链接地址,然后我切换到target选项卡,如下图,在target选项卡下,可以看到所有爬取到的链接地址。5.3采集漏洞挖掘渗透渗透测试系统中的大部分URL地址后,就可以使用burp套件进行渗透测试了。在渗透测试中,您会定期对每个地址进行漏洞测试,包括SQL注入、XSS跨站、命令执行等。、CSRF、明文形式、文件包含等。在本文中,作者以XSS漏洞为例。在目标选项卡下,选择对应的域名地址,鼠标右键,可以看到主动扫描此主机选项。如下图点击该选项后,将进入下一个交互框。这时候可以去掉一些不带参数的URL地址。这里勾选后,不带参数的URL地址会被去掉,后缀为js、gif、jpg、png、css的地址,如下图,点击下一步后,可以看到过滤后的URL地址,如下图如下图,再次点击下一步后,渗透测试开始,然后点击标签扫描器,即可看到扫描进度和扫描结果的大致状态。6.漏洞验证工具burpsuite扫描出漏洞后会有提示,但提示不完全准确,需要人工验证6.1查看进度渗透测试费用时间由URL数量和速度决定网络。通常需要一定的时间。作者可以在扫描仪选项卡中的子选项卡扫描在issue中可以看到渗透测试的进度和扫描的大概情况。例如,如果某些项目是红色的,则表示已扫描到高危漏洞,如下图所示。您可以在Issue活动中看到完整的结果。结果中的红色表示高危漏洞,橙色表示低危漏洞,灰色表示提示安全问题。我选择了其中一个红色标签,类型是跨站脚本。这是XSS漏洞,具体payload可以看下图,如下图在payload中,右键复制其URL地址,可用于漏洞验证,如下图6.3漏洞验证现在作者通过浏览器手动验证payload是否真的存在。刚才,作者复制了带有载荷的地址。URL地址如下http://permeate.songboy.net/home/index.php?m=tiezie2eir%3cscript%3ealert(1)%3c%2fscript%3eftspc&a=index&bk=10注意不要使用谷歌内核浏览器验证时,由于谷歌内核浏览器自带XSS过滤器,会导致网站反射型XSS及时无法复现,故笔者使用火狐浏览器验证漏洞,如下图七.新书推荐大平台销售,封面如下图作者:唐青松微信:songboy8888日期:2018-10-09