NSS [NISACTF 2022]bingdundun~

NSS [NISACTF 2022]bingdundun~

考点:phar伪协议

点击连接,跳转到上传文件界面

image-20230711115754939

提示只能上传图片或者压缩包

同时注意到了,url栏有个GET传参。传值为index试试,发现回显好多个//index.php,猜测这里传参,会自动帮我们加上一个.php,我们传?bingdundun=index,后台解析为?bingdundun=index.php,然后进行文件包含。

phar伪协议:

phar ( php archive ) 是 PHP 里类似于 jar ( java archive ) 的一种打包文件。如果使用的是 PHP 5.3 或更高版本,那么 .phar 后缀文件是默认开启支持的,你不需要任何其他的安装就可以使用它。

用法:?file=phar://压缩包/内部文件
主要是用于在php中对压缩文件格式的读取。这种方式通常是用来配合文件上传漏洞使用。

生成phar文件脚本:(就了解一下)

<?php
    $payload = '<?php eval($_POST["shell"]); ?>' ;//一句话木马
    $phar = new Phar("example.phar"); //后缀名必须为phar
    $phar->startBuffering();
    $phar->setStub("<?php __HALT_COMPILER(); ?>"); //设置stub
    $phar->addFromString("phar.php", "$payload"); //添加要压缩的文件
    // $phar->setMetadata(...); //在metadata添加内容,可参考 phar反序列化,此处用不着,故注释
    $phar->stopBuffering();
?>

1、stub是phar文件的文件头,格式为...<?php ...;__HALT_COMPILER();?>...可以是任意字符,包括留空,且 php 闭合符与最后一个分号之间不能有多于一个的空格符。另外 php 闭合符也可省略。包含在 php 代码块中的语句在 phar 文件被包含时被执行。最短省略闭合符的stub是__HALT_COMPILER();?>。前面的内容是没有限制的,也就是说我们可以构造一个图片文件或者 pdf 文件来绕过上传的限制,将这个phar文件上传上去。

2、manifest describing the contents存放着压缩文件的信息,每个被压缩文件的权限,属性等信息都放在这里,这里还会以序列化的形式存储着用户自定义的meta-dataphar文件存储meta-data时会先将内容序列化后再存入进去,当文件操作函数通过phar://伪协议解析phar文件时就会先将数据反序列化,这样就可以构成反序列化攻击。这里是phar反序列化攻击最核心的地方,但对这道题没有帮助。

3、the file contents:被压缩文件的内容,这里写入一句话木马,但对 phar 反序列化攻击没有帮助

4、signature:可选,phar文件的签名,允许的有MD5, SHA1, SHA256, SHA512和OPENSSL

(3条消息) 『PHP』phar文件详解_phar文件格式_调用phar类方法生成phar文件_Ho1aAs的博客-CSDN博客

开始做题。我们先创建一个一句话木马文件。

image-20230711115349717

这里得提一下。

phar://、zip://、bzip2://、zlib://都可用于读取压缩文件,zip:// 、 bzip2:// 、 zlib:// 均属于压缩流,可以访问压缩文件中的子文件,更重要的是不需要指定后缀名,可修改为任意后缀:jpg png gif zip xxx 等等。而phar://的伪协议,可以将任意后缀名的压缩包(原来是 .phar 或 .zip,注意:PHP > =5.3.0 压缩包需要是zip协议压缩,rar不行 ) 解包,从而可以通过上传压缩包绕过对后缀名的限制,再利用伪协议实现文件包含。

所以.zip后缀也是可以的,不用.phar,直接压缩就行啦。

image-20230711115501390

上传压缩包,返回了路径。

image-20230711120743072

成功进行RCE(为什么最后不是/shell.php而是/shell,因为之前提了,后台会自动加上.php

image-20230711121123529

getshell,根目录下找到flag

image-20230711121258105

好文推荐:

[(3条消息) NISACTF 2022]bingdundun wp_Leafzzz__的博客-CSDN博客

[(3条消息) NISACTF 2022]bingdundun~_ph0ebus的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/Jayjay___/article/details/134446159
今日推荐