网络空间安全实训-渗透测试
XSS攻击
-
定义
- 跨站脚本攻击,用户在网页上提交自行构造的恶意JS脚本,使脚本在浏览网页的用户浏览器上执行
-
XSS与SQL注入的区别
-
SQL注入攻击的对象是服务器后端
-
XSS攻击的对象是浏览网站的用户
-
### XSS攻击类型
* 反射型XSS
* 是将恶意脚本附加在URL中进行的攻击,需要攻击者手动将包含恶意脚本的URL发送给受害者点击,是一种一次性的攻击
* 存储型XSS
* 是将恶意脚本提交到网站的数据库中,每个通过该网站访问该数据的用户都将执行该代码
* DOM型XSS
* 一种特殊的反射型XSS,攻击点在Document对象中
### 通过XSS盗取网站管理员的cookie
* 1.在攻击方本地搭建用于接收cookie的网站
* 创建接受cookie的页面
* 给页面执行和访问权限
* 给html文件夹执行和修改权限
* 2.在网站留言版中提交包含JS文件的代码
* 3.等待对方管理员浏览该留言
* 4.在攻击机查看盗取的cookie值,并将改cookie替换掉自己的cookie来访问网站后台
### XSS的防御及绕过
* 1.对用户提交的内容进行安全检查和过滤
* 大小写转换绕过
* 双写绕过
* 使用非\<script\>标签绕过
* 如果检查和过滤是发生在浏览器前端,可以通过Burpsuite抓包绕过
* 2.使用函数进行特殊字符的转义
* ![](https://file.jishuzhan.net/article/1784087755878305793/5021f1d0e0b059704e59f0637a10d776.webp)