pikachu-File Inclusion

实验步骤


File Inclusion模块

php的文件包含不管文件后缀名是什么,只要包含php代码,就可以被当作php代码解析第一关  File Inclusion(local)


首先可以在输入框中选择很多NBA明星,可以看到他们的照片和简介,同时访问是URL也暴露了出来,然后一次访问,依次可以看到有filex.php(x是数字)这样的的文件,而且是通过URL参数从前端传到后端的话,如果没有严格过滤就很可能有文件包含漏洞


那我们bp查看一下数据

将数据发送到测试器,我们看看之后数的字是否还有别的有用的信息

爆破的就选择数值就可以了,从6到100


6到100,每次依次增加1


可以看到在file6.php的文件中有了账号密码!

然后其他的都是报错,也有一些长度只相差2的也都是报错


看到了这个报错,通过这个报错,可以知道fi_local.php中用来进行文件包含的函数是include(),并且包含的文件路径为与fi_local.php同文件夹下include文件夹中的文件。

从上面的报错信息可以知道网站根目录是E:CTF\phpStudy_64\phpstudy_pro\WWW

所以肯定会有Windows\win.ini这个文件,用这个来尝试有没有文件包含漏洞。

上一部分已经分析过,上图报错信息泄露出include()函数包含的文件是与fi_local.php同文件夹下include文件夹中的文件,由于路径参数中有个固定的include/,并且包含的文件路径为与fi_local.php同文件夹下include文件夹中的文件。

我们在这个路径下上传一个txt格式的php代码

因为那不是file6.php的路径(其实在include文件中),所以使用../用来返回上一层目录。


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

结合报错信息中泄露的fi_local.php文件位置,可以算出相对路径为../../../../../../windows/win.ini,代入url中组成payload:

http://pikachu/vul/fileinclude/fi_local.php?filename=../../../../../../windows/win.ini&submit=%E6%8F%90%E4%BA%A4


成功读到win.ini文件的内容

这时候需要上传一个图片马,结合文件上传getshell


在pikachu Unsafe Fileupload 不安全的文件上传的 getimagesize关卡,上传了图片马,该其内容包含下图所示的一句话木马。,然后需要将.txt文件修改为.jpg


文件上传w.jpg,就能回显部分路径和新生成的图片文件名

所以就能得出payload为

http://pikachu/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/2023/12/29/590615658e71d958d6f989232239.jpg&submit=%E6%8F%90%E4%BA%A4

用蚁键连接


成功连接  

第二关  File Inclusion(remote)

在远程包含漏洞中,攻击者可以通过访问外部地址来加载远程的代码。


这关的下拉框和local那关还是一样的,随便选一个,观察一下url有什么不同?url中把include()函数的完整参数给出来了

 url中把include()函数的完整参数给出来了

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

远程包含http试一下

http://pikachu/vul/fileinclude/fi_remote.php?filename=https://www.csdn.net/&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2#


所以这关其实除了远程文件包含,还可以本地文件包含使用绝对路径.


写一个生成shell得一句话木马

然后将.txt改为.php文件


然后打开蚁键,将shell.php文件的目录复制下来,粘贴在filename=后面


OK连接成功

总结

通过这次漏洞的作业,我了解到了文件上传漏洞的一些相关知识,又更熟悉了一遍bp,一句话木马的上传,蚁键的连接包括在远程包含漏洞中,攻击者可以通过访问外部地址来加载远程的代码等

  • 19
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值