xss的绕过方式
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一.xss的类型以及常用标签二.xss常用绕过总结前言xss(cross-site-scripting)中文:跨站脚本攻击 常年位于owasp top ten,可见他的地位。基于javascript完成恶意攻击,javascript使用灵活 他可控制网页的行为 操作html、css、和浏览器,所以他的危害性特别大,了解并学
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一.xss的类型以及常用标签
- 二.xss常用绕过
- 总结
前言
xss(cross-site-scripting)中文:跨站脚本攻击 常年位于owasp top ten,可见他的地位。
基于javascript完成恶意攻击,javascript使用灵活 他可控制网页的行为 操作html、css、和浏览器,所以他的危害性特别大,了解并学习xss原理对于防范xss攻击意义重大。
提示:以下是本篇文章正文内容,下面案例可供参考
一、xss的类型及常用标签
xss有三种类型,分别是:
1.反射型: 非持久型 一次性攻击
2.存储型: 持久型 伴随数据存在
3.DOM型: 基于文档对象模型
常用标签: | html里 | js里 |
<iframe> | alert | |
<textarea> | window.location | |
<img> | location.href | |
<script> | on类型:onsubmint、onerror、onmouseout、onclick等 |
二、xss常用绕过
1.大小写绕过
注意在html里不区分大小写 所以标签如果别过滤 可以采用大小写绕过的方式
代码如下(示例):
<script>alert(“xss”);</script>
<ScRipt>ALeRt(“XSS”);</sCRipT>
2.空格/回车(换行符)/Tab
当过滤掉了Javascript等敏感字符串时就对字符串进行添加空格,换行或tab,此处利用js自身的性质:js通常用分号结尾,当解析到完整语句并且行尾存在换行符的情况下就可以忽略掉分号,若解析确定不是完整语句,则会继续处理,直到语句结束或出现分号。
例如下列语句,我们利用空格将语句分隔成了两部分,解析引擎解析确定到的不是完整的语句,JavaScript则会继续进行处理直到这个语句结束,利用换行符和tab同理
代码如下(示例):
<img src="java script:alert(‘xss‘);" width=100>
或者
<img src="javascript: alert(‘xss‘);" width=100>
3.堆叠绕过
类似于 输出为 为变量$str
$str2=str_replace("script","",$str);
$str3=str_replace("on","",$str2);
$str4=str_replace("src","",$str3);
$str5=str_replace("data","",$str4);
$str6=str_replace("href","",$str5);
可以采用oonn避开过滤 机制是吧中间的on过滤了
4.事件绕过
就是加入一些事件 此方法可绕过大部分SRC域名过滤器,它允许将事件替换为任何标签中可用的事件类型,例如onblur,onclick
事件 | 描述 |
onclick | 在用户使用鼠标左键点击对象时触发 |
ondblclick | 用户双击对象时触发 |
onmousedown | 用户用任何鼠标按键单击对象时触发 |
onmouseenter/onmouseover | 用户将鼠标指针移动到对象内时触发 |
onmouseleave/onmouseout | 用户将鼠标移出对象边界时触发 |
onmousemove | 用户将鼠标划过对象时触发 |
onmouseup | 用户在鼠标位于对象之上时释放鼠标按钮触发 |
onmousewheel | 鼠标滚轮按钮旋转时触发 |
onpaste | 用户粘贴数据以便从剪切板向文档传输数据在目标对象上时触发 |
onpropertychange | 在对象上发生对象属性更改时触发 |
onkeydown | 用户按下键盘按键时触发 |
onerror | 装载文档或图像的过程中发生错误时触发 |
onload | 加载完毕自动触发 |
5.伪协议绕过
利用 在a标签里插入 javascript: 伪协议
6.前端抓包绕过
过滤严格的函数可能也会将标签进行严格控制,但是如果用其他形式表示标签,脚本仍能解析却可以绕过过滤
编码绕过不太常见,网上找了张图供大家参考
总结
xss危险程度很高 一般用于盗取各类账号,控制企业数据,盗取企业的重要的商业资料,非法转账,强制发送邮件,网站挂马之类的。所以 掌握xss原理 就可以更好的预防这种危害。
更多推荐
所有评论(0)