关于我学XSS躺过的那些坑
XSS字符编码
在学习编码绕过时由于数量多,类型相似,不太容易记得住,记得全,故做此记录。
0x01 Html标签属性中执行
简单了解:
Html标签属性中的XSS问题多属于javascript伪协议
常见的属性有:
- src
- lowsrc
- dynsrc
- url
- href
- action
- onload
- onunload
- onmouseover
- onerror
- 各种on开头的事件
PS:此处可不加括号,如
onclick=javascript:alert(1)
,各类教程里常见的<img src=javascript:alert(1)></img>
Chrome、Firfox已失效,IE测试成功。
在Html标签中,许多标签具有执行javascript的权利,当服务器存在过滤时,我们可以尝试通过以下编码方法绕过:
- 8/10/16进制转换(
[.][&#][&#x]
) - 利用
javascript:String.fromCharCode(xx,xx,xx......)
[xx为编码的字符串的ASCII码] - JScript Encode [IE] JS fuck等
data:text/html;bbase64,xxxxxxx
[IE下无效,Chorme、Firefox下均属于空白域,无法获取信息,不过可用作CVE攻击]