xss-labs通关记录

0、写在前面

挖坑,待更新。

1、无过滤

简单关卡,随便找一个常用代码(如script、img等)填入即可。

http://localhost/xss-labs/level1.php?name=<script>alert(1)</script>

 

2、简单标签闭合

刚进入第二关的url:

http://localhost/xss-labs/level2.php?keyword=test

xss-labs通关记录

如题,非常简单的进行一个标签的闭合即可。

http://localhost/xss-labs/level2.php?keyword="><script>alert(1);</script> //

 

3、闭合+ htmlspecialchars()

1)先用<script>alert(1)</script>进行一波试探,结果如下:

xss-labs通关记录

可以看到<>被过滤了,查看一下源码方便理解:

<?php 
ini_set("display_errors", 0);
$str = $_GET["keyword"];
echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>"."<center>
<form action=level3.php method=GET>
<input name=keyword  value='".htmlspecialchars($str)."'>	
<input type=submit name=submit value=搜索 />
</form>
</center>";
?>

2)PHP htmlspecialchars() 函数:把一些预定义的字符转换为 HTML 实体。

预定义的字符是:

  • & (和号)成为 &amp;
  • " (双引号)成为 &quot;
  • ' (单引号)成为 '
  • < (小于)成为 &lt;
  • > (大于)成为 &gt;

虽然过滤了"(双引号)和<(单引号),但’(单引号)还是你单引号

上一篇:2021-10-19


下一篇:XSS-labs靶场通关