前言
在前些章节 (web安全系列(一):XSS 攻击基础及原理)以及(Web安全系列(二):XSS 攻击进阶(初探 XSS Payload))中,我详细介绍了 XSS 形成的原理以及 XSS 攻击的分类,并且编写了一个小栗子来展示出 XSS Payload 的危害。
目前来说,XSS 的漏洞类型主要分为三类:反射型、存储型、DOM型,在本篇文章当中会以permeate生态测试系统为例,分析网站功能,引导攻击思路,帮助读者能够快速找出网站可能存在的漏洞。
反射型 XSS 挖掘
现在笔者需要进行手工XSS漏洞挖掘,在手工挖掘之前笔者需要先逛逛网站有哪些功能点,如下图是permeate的界面
思路分析
我们知道反射型 XSS ,大多是通过 URL 传播的,那么我就需要思考哪些地方会出现让 URL 地址的参数在页面中显示,我相信大部分读者脑中第一直觉就是搜索栏,尤其是一些大型网站的站内搜索,搜索的关键词会展示在当前的页面中。例如某搜索引擎:
而在我们测试的首页也有网站搜索功能,因此我们可以从搜索功能着手测试,尝试是否可以进行 XSS Payload,我们先输入一个简单的 Payload 进行测试,测试代码为<img οnerrοr="alert(1)" src=1 />
当我们点击搜索按钮时,URL 应当自动改变为 http://localhost:8888/home/search.php?keywords=<img οnerrοr="alert(1)" src=1 />
操作过程
我们进行尝试:
先输入搜索内容
再进行搜索
我们发现,Google Chrome 居然直接阻止了该事件,Payload 也没有进行触发