php存储形XSS漏洞
定义:持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或
过滤不严,那么这些代码存储到服务器中,用户访问该页面的时候触发代码执行。
防御:
htmlspecials函数
{
&转换为&
"转换为&auot
'转换为'
<转换为<
>转换为>
}
有以下代码
<?php mysql_connect('localhost','root',''); mysql_select_db("test"); mysql_query("utf8"); if(isset($_POST['submit'])) { $title=$_POST['title']; $con=$_POST['con']; $sql="insert into book(id,title,con)values(NULL,'$title','$con');"; if(mysql_query($sql)) {} } else { $sql="select * from book"; $row=mysql_query($sql); while($rows=mysql_fetch_array($row)) { echo $rows["id"].$rows['title'].$rows['con']."</br>"; } } ?> <form action="1.php" method="post"> <input type="text" name="title"/> <input type="text" name="con"/> <input type="submit" name="submit"/> </form>
这里echo没有用htmlspecialchars转换后输出,因此造成了xss

浙公网安备 33010602011771号