02-XSS渗透测试步骤

三、XSS渗透测试步骤

xss攻击,一定牢记"输入输出",输入指的是攻击者对服务器网页输入恶意代码

输出指的是浏览器接受到代码后能解析出并输出到前端。

xss原理就是开发者没有对输入内容进行过滤,导致通过攻击者进行构造的前端代码,

输入后和原有的前端代码产生混淆,形成新的页面语句,并且新的页面语句能够被浏览器解析并输出。

xss渗透测试步骤:

1)找到输入点,输入任意字符串,查看输出位置

2)打开网页源代码,在源代码中查看输出的位置(有可能输入和输出不在同一个页面)

3)查看输出位置的内容与输入内容之间的关系,构建闭合和拼接脚本

4)利用<script>或onclic或alert(1)进行测试,确认是否存在xss注入点

5)开始利用注入点完成各类复杂的操作,实现攻击目的

优化PHP代码为以下代码,并在一个文本框中进行输出:

复制代码
if(isset($_Get['content'])){
    $content = $_Get['content'];
    echo "<input type='text' value='$content' id='username'/>;"
}

我们的目的是进行xss攻击,执行JS代码的条件是要有script标签或事件属性

复制代码
<script>alert(1)</script> 这是一定能在页面上执行弹窗警告框的
如果我们直接输入上述的代码将直接会变成这样==》
<input type='text' value='<script>alert(1)</script>'> 这并不符合HTML的语法
<input type='text' value=''><script>alert(1)</script>"> 变成这样的话,就是input和script两个标签都能执行
因此我们输入就变成
"><script>alert(1)</script><!--    就是凭借和闭合后然后就将后续的代码进行注释就可以了
那此时浏览器在解析的时候,就会解析出两个元素,一个是input,一个是script,从而执行我们在script中的代码,完成XSS攻击
也可以完成对value="的闭合,实现文本框的单击事件,Payload为:
hello" onclick="alert(1)
也可以构造一个全新的标签进行触发: 
Palyoad 1:"><img src="1" onerror="alert(1)">
Palyoad 2: "><img src="./image/dateme.gif" onclick="alert(1)"><!--
Palyoad 2: "><img src="./image/dateme.gif" onclick="alert(1)"><input type="hidden

xss常用的测试语句:

复制代码
<script> alert(1)</script>
<img src=1 oneror=alert(1)>
<svg onload=alert(1)>
<a href=javascript:alert(1)>
<input onfocus=write(1) autofocus>

四、xss的类型

1、反射型xss

我们构造好一个url的payload,发送给受害者,受害者点击恶意链接后再受害者的浏览器上执行恶意代码。

反射型xss是一次性的,而且比较容易被发现,通常恶意链接会被修改成短链接,或钓鱼图片的形式。

2、存储型XSS

存储型又叫永久性xss,常见于留言板,因为存储型xss的页面会将用户输入的内容存入到数据库内,

所以其他人每访问一次的时候,服务器都会从数据库将攻击者输入的内容调取到前端浏览器解析,

因此每一次访问就相当于一次xss攻击

3、DOM型XSS

DOM会将HTML文件的节点构建成树状结构,(一个标签就是一个节点)

不与服务器交互,本质上也是一种反射型xss。主要利用js使用domn对前端HTML进行操作时候产生的漏洞。DOM型xss难点就在于通过阅读JavaScript来确定输出的位置,才好构建输入的payload.

DOM型xss可通过开发者工具观察js变化。

相关推荐
Bruce_Liuxiaowei24 分钟前
Python 跨平台 Nmap 自动化扫描工具:从手动到一键批量扫描
开发语言·python·网络安全·自动化
小阿宁的猫猫40 分钟前
文件上传和解析漏洞的原理、条件、比赛时的各种绕过方法
web安全·网络安全·web
Whoami!1 小时前
❾⁄₂ ⟦ OSCP ⬖ 研记 ⟧ 防病毒软件规避 ➱ 防病毒软件概述(下)
网络安全·信息安全·防病毒软件
unable code1 小时前
攻防世界-Misc-2-1
网络安全·ctf·misc
weixin_307779131 小时前
基于AWS Shield Advanced的自我管理DNS服务DDoS防护方案
网络安全·云计算·aws
Neolnfra18 小时前
渗透测试标准化流程
开发语言·安全·web安全·http·网络安全·https·系统安全
.昕..18 小时前
2025CTF逆向工程“新范式”:当Jadx装上AI大脑,逆向效率提升
网络安全
云计算练习生19 小时前
渗透测试行业术语扫盲(第十六篇)—— 红蓝对抗与演练类
网络·安全·网络安全·信息安全·渗透测试术语
小阿宁的猫猫20 小时前
sqlmap的使用
sql·网络安全·php
百度安全21 小时前
百度办公网安全秘诀分享——兼顾安全与效率
安全·网络安全·dubbo·办公安全