XSS Labs-Level3题解

一、观察&测试
和level2一样是输入框
二、尝试攻击
直接先用之前的payload试试

image1

image2

看来都被实体化了

尝试用没有<、>的payload:'onmouseover='alert(1)

image3

成功!

三、代码分析
通过查看源码可以看到是一个函数在实体化

$str = $_GET["keyword"];

echo "<h2 align=center>没有找到和".htmlspecialchars($str)."相关的结果.</h2>"."<center>

<form action=level3.php method=GET>

<input name=keyword value='".htmlspecialchars($str)."'>

查看htmlspecialchars()函数:

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

预定义的字符是:

& (和号)成为 &

" (双引号)成为 "

' (单引号)成为 '

< (小于)成为 <

> (大于)成为 >

posted @ 2025-12-03 09:23  shinianyunyan  阅读(4)  评论(0)    收藏  举报