XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Document</title> </head> <body> <form action="add.php" method="POST"> 用户:<input type="text" name="name" /><br> 内容:<input name="content"/><br /> <input type="submit" value="提交" /> </form> </body> </html>
<?php
$conn=mysql_connect('localhost','root','') or die("数据库连接失败");
mysql_query("set names gb2312");
mysql_select_db("mytest");
$name=$_POST['name'];
$content=$_POST['content'];
$sql="INSERT INTO message(id,NAME,content) VALUES ('','".$name."','".$content."')";
var_dump($sql);
if(mysql_query($sql)){
echo "留言成功";
}
?> <?php
$conn=mysql_connect('localhost','root','wzw123') or die("数据库连接失败");
mysql_query("set names gb2312");
mysql_select_db("mytest");
$sql="select * from message order by id desc";
$result=mysql_query($sql);
while ($all=mysql_fetch_array($result)) {
echo $all['id']."==>".$all['name']."==>".$all['content'];
echo "<hr>";
}
?>因为是测试,所以代码写的有点无厘头。见谅见谅,凑合看。
这是输出的留言内容,没做任何美化。唉,不要在意细节,嘿嘿
那我们来看留言的地方,我们输入正常的留言内容肯定是没问题的。那如果我们猥琐的输入了javascript代码呢?
效果很明显,如下图
那我们输入其他的javascript代码呢?比如获取客户端的cookie等等。。。都是可以的。
如果你觉得这些太鸡肋的话,那如果直接输入一个内嵌js的外链呢?如果外链里有些获取各种信息的代码呢?那岂不是轻松获取信息?
如果管理员在后台审核留言的话,被别人获取到cookie或者其他信息的话。在结合CSRF后果也是很严重的。
只是做个演示,不是为了方便别有用心的人,请不要用于非法用途
PS:本文只是为提高程序猿的安全意识,加强安全防护,请不要用于非法用途!由于水平有限,本文只做抛砖引玉,转载请注明出处,谢谢。
在web开发中你不得不注意的安全验证问题#2-XSS,布布扣,bubuko.com
原文地址:http://blog.csdn.net/ibey0nd/article/details/36700243