通过Web安全工具Burp suite找出网站中的XSS漏洞实战(二)
一、背景
笔者6月份在慕课网录制视频教程XSS跨站漏洞 加强Web安全,里面需要讲到很多实战案例,在漏洞挖掘案例中分为了手工挖掘、工具挖掘、代码审计三部分内容,手工挖掘篇参考地址为快速找出网站中可能存在的XSS漏洞实践(一)https://segmentfault.com/a/1190000016095198
本文主要记录利用Web安全工具Burp suite进行XSS漏洞挖掘部分,分为了设置代理,漏洞扫描,漏洞验证三个部分,其中permeate
渗透测试系统的搭建可以参考第一篇文章。
二、操作概要
- 下载工具
- 设置代理
- 漏洞扫描
- 漏洞验证
三、下载工具
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
通过Web安全工具Burp suite找出网站中的XSS漏洞实战(二)的更多相关文章
- 通过代码审计找出网站中的XSS漏洞实战(三)
一.背景 笔者此前录制了一套XSS的视频教程,在漏洞案例一节中讲解手工挖掘.工具挖掘.代码审计三部分内容,准备将内容用文章的形式再次写一此,前两篇已经写完,内容有一些关联性,其中手工XSS挖掘篇地址为 ...
- 快速找出网站中可能存在的XSS漏洞实践(一)
一.背景 笔者最近在慕课录制了一套XSS跨站漏洞 加强Web安全视频教程,课程当中有讲到XSS的挖掘方式,所以在录制课程之前需要做大量实践案例,最近视频已经录制完成,准备将这些XSS漏洞的挖掘过程记录 ...
- 快速找出网站中可能存在的XSS漏洞实践
笔者写了一些XSS漏洞的挖掘过程记录下来,方便自己也方便他人. 一.背景 在本篇文章当中会一permeate生态测试系统为例,笔者此前写过一篇文章当中笔者已经讲解如何安装permeate渗透测试系统, ...
- 利用PHP扩展Taint找出网站的潜在安全漏洞实践
一.背景 笔者从接触计算机后就对网络安全一直比较感兴趣,在做PHP开发后对web安全一直比较关注,2016时无意中发现Taint这个扩展,体验之后发现确实好用:不过当时在查询相关资料时候发现关注此扩展 ...
- 测试工具( Burp Suite)介绍了解篇
Mac 安装 Burp Suite破解版,参考链接: https://www.jianshu.com/p/3224c2308ffa 建议:目前官网的最新版为2.1.4.建议使用1.7.36版本,有破解 ...
- 阅读OReilly.Web.Scraping.with.Python.2015.6笔记---找出网页中所有的href
阅读OReilly.Web.Scraping.with.Python.2015.6笔记---找出网页中所有的href 1.查找以<a>开头的所有文本,然后判断href是否在<a> ...
- [LeetCode] Find All Numbers Disappeared in an Array 找出数组中所有消失的数字
Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and ot ...
- 剑指Offer 找出字符串中第一个只出现一次的字符
题目描述 找出字符串中第一个只出现一次的字符 如果无此字符 请输出'.' 输入描述: 输入一串字符,由小写字母组成 输出描述: 输出一个字符 输入例子: asdfasdfo 输出例子: o 思路:数组 ...
- 找出字符串中第一个不重复的字符(JavaScript实现)
如题~ 此算法仅供参考,小菜基本不懂高深的算法,只能用最朴实的思想去表达. //找出字符串中第一个不重复的字符 // firstUniqueChar("vdctdvc"); --& ...
随机推荐
- MySQL不停地自动重启怎么办
近期,测试环境出现了一次MySQL数据库不断自动重启的问题,导致的原因是强行kill -9 杀掉数据库进程导致,报错信息如下: --24T01::.769512Z [Note] Executing ' ...
- d3.js实现柱形图,饼图以及折现图
饼图 var width = 500; var height = 500; //处理数据 var dataset = [ 30 , 10 , 43 , 55 , 13 ]; var pie = d3. ...
- HZOJ 单
两个子任务真的是坑……考试的时候想到了60分的算法,然而只拿到了20分(各种沙雕错,没救了……). 算法1: 对于测试点1,直接n遍dfs即可求出答案,复杂度O(n^2),然而还是有好多同学跑LCA/ ...
- Android的日期选择器
TimePicker(时间选择器) 方法 描述 Integer getCurrentHour () 返回当前设置的小时 Integer getCurrentMinute() 返回当前设置的分钟 boo ...
- TestNG独立运行的几种方法.md
目录 通过main函数调用testng.xml文件,然后打成可执行jar包执行 1 假设我们已经写好了testng.xml,现在我们需要写一个主类和main函数用来调用testng.xml 2 把项目 ...
- 基于高德开放平台的 NODE 天气信息组件
看看了画在手上的Armani手表,马上就快到了下班的时间了,心里总觉的空唠唠的, 好像空缺了什么一样,仔细的想了一想,微微叹了一口气,觉得是时候在这里和大家分享一下原因了........ 首先: ## ...
- 【iOS】edgesForExtendedLayout
在 iOS 7.0 中,苹果引入了一个新的属性,叫做 edgesForExtendedLayou,它的默认值为 UIRectEdgeAll. 当你的容器是 navigationController 时 ...
- cogs 264. 数列操作 单点修改 区间查询
http://cogs.pro:8080/cogs/problem/problem.php?pid=pyNimmVeq 264. 数列操作 ★☆ 输入文件:shulie.in 输出文件:shu ...
- RocketMQ中Broker的HA策略源码分析
Broker的HA策略分为两部分①同步元数据②同步消息数据 同步元数据 在Slave启动时,会启动一个定时任务用来从master同步元数据 if (role == BrokerRole.SLAVE) ...
- jQuery插件之路(二)——轮播
还记得以前刚接触前端的时候,浏览各大网站,很多都少不了的有个轮播的效果,那个时候自己是一个彻彻底底的小白,想着这些图片滚动起来还真是有意思,是什么让这些图片在一个方向上连续的滚动呢.后来慢慢的接触多了 ...