xss跨站脚本攻击
xss原理
XSS全称是Cross Site Scripting即跨站脚本,当目标网站目标用户浏览器渲染HTML文档的过程中,出现了不被预期的脚本指令并执行时,XSS就发生了。一旦攻击成功,它可以获取用户的联系人列表,然后向联系人发送虚假诈骗信息,可以删除用户的日志等等。
有时候还和其他攻击方式同时实施比如SQL注入攻击服务器和数据库、Click劫持、相对链接劫持等实施钓鱼,它带来的危害是巨大的,是web安全的头号大敌。
危害
- 挂马
- 盗取用户Cookie。
- DOS(拒绝服务)客户端浏览器。
- 钓鱼攻击,高级的钓鱼技巧。
- 删除目标文章、恶意篡改数据、嫁祸。
- 劫持用户Web行为,甚至进一步渗透内网。
- 爆发Web2.0蠕虫。
- 蠕虫式的DDoS攻击。
- 蠕虫式挂马攻击、刷广告、刷浏量、破坏网上数据
- 其它安全问题
pikachu靶场
各种类型的xss的区别
反射型xss
输入aaa
返回
可看到网页中已出现js语句
存储型xss
输入xss语句,弹窗
以后每次访问都将弹窗。
DOM型xss
常存在于“下一页”或"查看更多"处
输入#' onclick='alert(2)'>
xss平台
xsshs
使用键盘记录功能
后台就得到了键盘记录
可看到近期所作的操作。
盗取cookie
cookie和session
利用cookie
在得到cookie后访问网页,将cookie改为管理员cookie。然后访问管理员页面。就成功登录了
webshell箱子
xss常见位置
留言板、评论区、订单系统、反馈条件等
httponly绕过
作用
xss将无法读取到cookie
绕过方法
开启HTTP only后
无法得到cookie,并且测试代码不会执行。
靶场
htmlspecialchars() 绕过
htmlspecialchars():把预定义的字符 “<” (小于)和 “>” (大于)转换为 HTML 实体:
htmlspecialchars默认配置是不过滤单引号的。可将前部闭合。
使用onclick执行xss
之后点击搜索框
就执行xss语句了
onclick过滤
可尝试加入跳转,如:'><a href= ' javascript:alert(1)'>
就添加了一个超链接
单纯替换时也可直接使用大小写绕过
也可使用编码绕过
referer
由此产生同源策略。与跨站点脚本攻击(csrf)有关。
绕过waf
例如:
xssfuzz
绕waf工具
xwaf
渗透测试工具、网络安全工具、用于渗透测试和安全审计的工具
xsstrike
修复方案
- 开启httponly
- 输入过滤
- 输出过滤