php代码审计前奏之ctfshow之文件上传

访客4年前黑客工具819

本系列题目来源:CTFSHOW: https://ctf.show/challenges

想搞好代码审计,必须要搞懂其中一些危险函数危险应用,以及过滤不足,

故以 CTF 来练习。

web151~前端验证

直接抓包修改后缀。

web152~前端+MIME

直接抓包修改后缀。

web153~.user.ini

https://www.php.net/manual/en/ini.list.php

使用条件:

(1)服务器脚本语言为PHP 服务器使用CGI/FastCGI模式

(2)上传目录下要有可执行的php文件

使用方式:

  1. 上传一张图片马

  2. 上传 auto_prepend_file=ma.png

  3. 访问同级目录中的一个php文件。

本题目中有 ,所以可以操作。

题目配置可以从http相应包得到。

web154~文件内容过滤php

上来测试发现是黑名单过滤的。

我们还可以上传 ,并且真好存在。

那么我们上传一张图片马,

发现被拦截了。

猜测可能是拦截了 php 字符串。那么我们删掉他试试,果然上传成功。

那么我们呢绕过就可以了。

web155~文件内容过滤php

测试正常的 png 图片可以上传。

对图片内容过滤

绕过

步骤跟上关一样。。。。。

web156~过滤 php, [

测试,又是文件内容过滤了 .

紧接着发现事情没这么简单,还过滤了,这给传参造成了一定的困难。

但是我们可以直接

web157~过滤分号

nginx/1.18.0 (Ubuntu) PHP/5.6.40

文件名黑名单

经测试,对文件内容过滤了 、、、

上传

我们知道 php 最后的语句也可以不加分号的,前提是得有 结束标志。

上传

访问

web158~过滤分号

和web157解法相同。

web159~过滤括号

经测试,对文件内容过滤了 、、、 、

问题不大,不能用函数了。

那我们用反引号代替system()

web160~过滤反引号,包含日志

经测试,对文件内容过滤了 、、、 、 、 反引号 、空格。

好家伙。包含日志文件,但发现 也被过滤了。那就进行拼接。

上传后,在上传

看到页面回显,确实包含了。

想着直接浏览器访问 url 路径带上一句话,但是却被编码了

还是再UA出比较好。

修改UA

然后成功getshell.

web161~检测文件头

DBx4T1.md.png

发现只有文件内容异常的图片已经上传不上去了。猜测应该是对文件头进行了检测。

DBxj0A.md.png

上传 成功绕过,但是这里文件内容测试只有两个字符的时候还不能上传。。。。。所以多放点字符。

其余操作和上官相同。

web162~包含session文件

测试,这关也检测了文件头,但是同时过滤掉了 点

我们可以看到这样绕过

.user.ini :

但上传文件,同样不能包含日志文件。这时候就需要包含session文件了。

这里还过滤了

上传

那么我们就开始构造,session文件竞争包含。

构造

DDCEvT.md.png

一直上传,内容为写后门到

然后一直包含session文件。

DDCJKO.md.png

可以看到成功包含,那么此时我们去,成功访问,并测试后门成功写入。

DDCtqe.md.png

可以参考文件包含篇:

还有 利用session.upload_progress进行文件包含



web163~包含session文件

过滤还是前面的过滤。

操作和上关一样的。

这里有,所以我们其实可以直接利用此文件包含Session文件。

上传:

然后就开始session文件竞争上传和包含。

DDkU6P.md.png

成功。

这是题目源码:

web164~png二次渲染

测试了一下。

白名单验证。

找了一张测试可以成功上传png图片。

还发现

可以随意修改图片又会被检测,故做图片马。

但是一般的图片马还绕不过,应该是做了二次渲染。

所以可以上传二次渲染绕过的图片,在做文件包含即可。

生成脚本:

DDHlrt.md.png

web165~jpg二次渲染

测试只能上传 jpg.

也是二次渲染,当我们写后门进图片是,后台会自动检测并删除数据。

那么就用到 jpg二次渲染绕过了。

拿脚本

先上传一张图片,然后下载下来,然后利用脚本生成。

DDLmPU.md.png

再继续上传,

发现这张图片不行,再来一张。

DDOAQH.md.png

成功。

需要注意的是,有一些jpg图片不能被处理,所以要多尝试一些jpg图片.



web166~zip文件上传包含

尝试多次,发现zip 文件可上传。

DDXFA0.md.png

但是上传直接编辑后门一句话的压缩包。

Ds8P0g.md.png

Ds8Ats.md.png

web167~.htaccess

Ds8Y1x.md.png

但这只是前端限制。

可以看到,只允许jpg上传。

抓包测试了一下,是黑名单。

开局有个提示

测试apache解析漏洞没解析。

测试成功。

然后上传带有马的 即可。

但是这里浏览器响应回来的是 nginx呀,坑。

web168~后门免杀

测试,会检测、。

可抓包后修改直接上传php文件。

反引号

反引号达到命令执行的效果。

把源码拔下来

本来还想着包含一波日志。

字符拼接

$_REQUEST

数学函数

这里

其他函数构造

web169~.user.ini包含日志

测试发现

抓包需修改

文件名后缀随意。

看看文件内容过滤了啥 <> ? 等等。

只能进行 日志文件包含了。

思路: 上传

然后随便上传个php文件即可。

然后改UA为一句话即可。

web170

测试上传zip,抓包修改,后缀为, MIME类型为.

包含

日志文件

相关文章

玫瑰花数量的含义(玫瑰花朵数代表的含义)

玫瑰花数量的含义(玫瑰花朵数代表的含义)玫瑰花作为观赏性比较高的花朵,非常适合送给心爱的人,不过玫瑰花不同的数量 玫瑰花作为观赏性比较高的花朵,...

黑客技术教程_找黑客修改嘉邦环球余额能出金不-怎么找黑客黑掉微信公众号

「黑客技术教程_找黑客修改嘉邦环球余额能出金不-怎么找黑客黑掉微信公众号」经过运用app的运用,发现后台规划存在两个问题:那么又研讨了一些这意味着假如浏览器发送如下的HTTP恳求到localhost:...

监控老婆的手机微信方法(远程查看老婆微信聊天记录)_微信聊天记录

监控老婆的手机微信方法(远程查看老婆微信聊天记录),恋爱或婚配之因此能成为人们真正美满的界说,固然是由于若危险产生后能实时填补,就会毁坏人们夺取恋爱的权益。而后少许人试图监控媳妇的社群消息,以便更好地...

密码锁忘记密码怎么办?别怕,20秒就能开锁的技巧

前言:因为我之前写过这样的文章,但是推荐量很少,导致阅读量只有700多,所以我现在重新发一篇文章,希望能够让更多的人学到这一项技巧。 好了,废话不多说,直接进去正题,我们今天是要说怎么样在20秒内解...

北京高端商务预约流程是怎样

来讨论一下“北京市高档商务预约步骤是如何”。有关北京市预约步骤,很多人有很多念头,但是有关文中,我统一一下大伙儿的观念,北京市高档商务预约步骤是如何是一个很重要很平稳的话题讨论,哪儿好,哪儿棒。全是很...

法国“封城”初见成心心骂壮壮效 政府维持现有防疫政策

  当地时间12日,法国政府召开国防会议,对法国的疫情状况进行了评估。当天,法国总理召开新闻发布会表示,法国“封城”初步取得了成效,但是目前还需要进一步巩固,所以接下来十五天之内,法国将维持“封城”相...