提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一.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原理 就可以更好的预防这种危害。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐