简介
XSS最大的特点就是能够注入恶意的HTML/JavaScritp代码到用户浏览的页面上,从而达到劫持用户会话的目的。究其原因,是由于web应用程序对用户的输入过滤不严造成的,当用户浏览带有恶意代码的网页时,就会执行其中的恶意代码。由于HTML代码和客户端JavaScript脚本能够在受害者主机上的浏览器任意执行,这样等同于完全控制了WEB客户端。在这个基础上黑客可以轻易的发起cookie资料窃取,会话劫持,钓鱼欺骗等攻击手段
xss脚本
<html>
<title>XSS TEST</title>
<body>
keyword: <?php echo @$_GET['keyword']; ?><br>
</body>
</html>
将代码写成一个php文件
放到WWW下面
用火狐打开
可以看到keyword:
在连接输入
?keyword=nice!!!
报警弹窗脚本
在试试其他脚本
下面是一个弹框脚本
弹出一个xss
<script>alert('xss')</script>
访问网页脚本
<iframe src=http://www.baidu.com width=1000 height=1000></iframe>
cookie脚本
<script>alert(document.cookie)</script>
不断刷新脚本
<meta http-equiv='refresh' content="1;">
危害
分类
反射型
查看源代码
可以看出来
如果为空
提示输一个kobe
如果输入kobe
将输出一句话“永远年轻,永远热血沸腾”
否则输出who is …,i don’t care
阻止脚本绕过方法
查询一下str_replace 函数
https://www.runoob.com/php/func-string-str-replace.html
str_replace(“world”,“Peter”,“Hello world!”);
将脚本用str_replace 函数修改一下
$message1=str_replace("script","",$_GET['message']);
$html.="<p class='notice'>who is {$message1},i don't care!</p>";
短链接
https://0f.cn/
存储型
又叫 持久型xss
在留言板上写一个js脚本
123<script>alert(/xss/)</script>
留言板上只会留下123
只要一打开
就会弹窗xss
DOM型
对比反射型和DOM型
抓包发现
反射型可以找到qqq内容
DOM型找不到qqq内容