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

简介:

一、背景

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

本文主要记录利用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文件,便能看到文件夹中有一些文件和文件夹,如下图所示
image

3.3 工具运行

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

image

在提示框中告知该程序为破解版本,仅用来学习,如果可以请购买正版,这里点击确定按钮,会再次看到一个确认界面,任然点击Next按钮,如下图所示

image

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

image

当打开程序看到上图界面时便是已经运行程序成功,下面便将进入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地址,如下图所示

image

在上图中可以看到了127.0.0.1:8080这个地址,此时已经开启代理服务,因此不需要再做任何设置。

4.2 浏览器设置

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

image

从上图当中可以看到笔者所设置的协议为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当中,可以看到已经抓到了数据包,如下图所示

image

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

image

5.2 爬去链接

再次刷新浏览器,依然可以抓取到数据包,这次笔者需要通过burp suite去抓取permeate渗透测试系统中的URL地址,这个过程笔者称之为爬虫,操作方式如下图所示

image

在数据包的位置,右键单击点击,出现选项,点击send to spider之后,便可以在spier选项卡中可以看到如下图所示

image

在上图中可以看到burp suite已经找到了permeate中的46个链接地址,接着笔者切换到target选项卡当中,如下图所示

image

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

5.3 挖掘漏洞

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

本文中笔者以XSS漏洞为例,在target选项卡下,选中对应的域名地址,鼠标单击右键,便可以看到Actively scan this host这一选项,如下图所示

image

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

image

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

image

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

六、漏洞验证

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

6.1 查看进度

渗透测试所花费的时间是是由URL数量和网速所决定的,通常需要一定的时间,笔者可以在选项卡Scanner中的子选项卡Scan issue中可以看到渗透测试的进度以及扫描的大致情况,比如有些项当中呈现出红色,则代表扫描到高危漏洞,如下图所示

image

6.2 扫描结果

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

image

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

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也无法复现

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

image

七、新书推荐

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

image

作者:汤青松

微信:songboy8888

日期:2018-10-09

目录
相关文章
|
4月前
|
存储 JavaScript 安全
Web渗透-XSS漏洞深入及xss-labs靶场实战
XSS(跨站脚本攻击)是常见的Web安全漏洞,通过在网页中注入恶意脚本,窃取用户信息或执行非法操作。本文介绍其原理、分类(反射型、存储型、DOM型)、测试方法及xss-labs靶场实战案例,帮助理解与防御XSS攻击。
1401 1
Web渗透-XSS漏洞深入及xss-labs靶场实战
|
安全 JavaScript 前端开发
阿里云先知安全沙龙(西安站) ——浅谈XSS漏洞挖掘与构造思路
本文介绍了DOM-XSS构造、运算符的威力和模板字符串妙用三个主题。通过多个实例图解,详细展示了如何利用DOM特性构造XSS攻击、JavaScript运算符在代码中的巧妙应用,以及模板字符串在开发中的灵活运用。这些内容对提升Web安全意识和编程技巧具有重要参考价值。
|
安全 网络安全 数据安全/隐私保护
XSS 漏洞可能会带来哪些危害?
【10月更文挑战第26天】XSS漏洞可能会给网站和用户带来诸多严重危害
|
10月前
|
安全 大数据 数据挖掘
课时9:阿里云Web应用防火墙:全面保障网站的安全与可用性
阿里云Web应用防火墙(WAF)基于阿里巴巴十年攻防经验,提供全面的网站安全防护。它通过Web应用防护、CC攻击防护和业务风控,有效应对各类网络威胁,确保网站的安全与可用性。智能双引擎技术降低误报率,实时数据分析和虚拟补丁更新保障系统安全。WAF已成功护航多个重大活动,为企业提供高效、简便的安全解决方案。
282 0
|
3月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
304 4
|
7月前
|
缓存 JavaScript 前端开发
鸿蒙5开发宝藏案例分享---Web开发优化案例分享
本文深入解读鸿蒙官方文档中的 `ArkWeb` 性能优化技巧,从预启动进程到预渲染,涵盖预下载、预连接、预取POST等八大优化策略。通过代码示例详解如何提升Web页面加载速度,助你打造流畅的HarmonyOS应用体验。内容实用,按需选用,让H5页面快到飞起!
|
7月前
|
JavaScript 前端开发 API
鸿蒙5开发宝藏案例分享---Web加载时延优化解析
本文深入解析了鸿蒙开发中Web加载完成时延的优化技巧,结合官方案例与实际代码,助你提升性能。核心内容包括:使用DevEco Profiler和DevTools定位瓶颈、四大优化方向(资源合并、接口预取、图片懒加载、任务拆解)及高频手段总结。同时提供性能优化黄金准则,如首屏资源控制在300KB内、关键接口响应≤200ms等,帮助开发者实现丝般流畅体验。
|
前端开发 JavaScript Shell
鸿蒙5开发宝藏案例分享---Web页面内点击响应时延分析
本文为鸿蒙开发者整理了Web性能优化的实战案例解析,结合官方文档深度扩展。内容涵盖点击响应时延核心指标(≤100ms)、性能分析工具链(如DevTools时间线、ArkUI Trace抓取)以及高频优化场景,包括递归函数优化、网络请求阻塞解决方案和setTimeout滥用问题等。同时提供进阶技巧,如首帧加速、透明动画陷阱规避及Web组件初始化加速,并通过优化前后Trace对比展示成果。最后总结了快速定位问题的方法与开发建议,助力开发者提升Web应用性能。
|
7月前
|
JSON 开发框架 自然语言处理
【HarmonyOS Next之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(三)
本文主要介绍了应用开发中的三大核心内容:生命周期管理、资源限定与访问以及多语言支持。在生命周期部分,详细说明了应用和页面的生命周期函数及其触发时机,帮助开发者更好地掌控应用状态变化。资源限定与访问章节,则聚焦于资源限定词的定义、命名规则及匹配逻辑,并阐述了如何通过 `$r` 引用 JS 模块内的资源。最后,多语言支持部分讲解了如何通过 JSON 文件定义多语言资源,使用 `$t` 和 `$tc` 方法实现简单格式化与单复数格式化,为全球化应用提供便利。
283 104
|
7月前
|
JavaScript 前端开发 API
【HarmonyOS Next之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(二)
本文介绍了HarmonyOS应用开发中的HML、CSS和JS语法。HML作为标记语言,支持数据绑定、事件处理、列表渲染等功能;CSS用于样式定义,涵盖尺寸单位、样式导入、选择器及伪类等特性;JS实现业务逻辑,包括ES6语法支持、对象属性、数据方法及事件处理。通过具体代码示例,详细解析了页面构建与交互的实现方式,为开发者提供全面的技术指导。
297 104