XSS小结

前言

最近学习了XSS注入。为了避免遗忘,总结一下。

注入技巧

1. 常见注入点

  • URL
  • 输入框

2. 常用payload

2.1 构造标签

1. <script>alert(1)</script>
2. <a href=javascript:alert(1)>
3. <img src=1 onerror=alert(1)>
4. <body onload=alert(1)>
5. <br size="&{alert(1)}">

2.2 构造事件

1. " οnclick="alert(1)
2. " οnmοuseοver="alert(1)

先写这么点,以后学了新的再补上去


3. 绕过思路

防护机制可能的绕过措施
删除关键字双写绕过
识别关键字改写或阻拦大小混写绕过;构造不常用的标签进行注入
过滤空格利用%0a,%09,%0d等代替空格
过滤script利用img等不需要使用script的标签
过滤标签尝试构造事件触发js

注意:使用html实体编号绕过的时候,实体编号必须要是标签中的属性值(href=”实体编号”)或者事件的值(比如οnclick=”实体编号”)这样浏览器才会翻译解析。过滤了尖括号就想想能否用on事件来触发漏洞。


4. 注入思路

首先要仔细观察可能存在注入点处的网页源码:

  1. 构造参数将原本的标签闭合,然后构造新的标签(script;a;img等)
  2. 为原本的标签增添事件(onclick,onmouseover)
  3. 请求头注入
  4. form表单中隐藏的input标签可能存在注入点
  5. EXIF注入,当浏览器解析.jpg图片的时候,某些安装插件的用户会解析图片属性,可以在图片属性中构造注入语句。
  6. ng-include注入。可将其他存在注入漏洞的页面导入目标页面,进而实现在目标页面的注入。
  7. 当页面存在利用js代码修改修改页面结构的时候,可能存在DOM注入,可以利用#绕过后台防护。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值