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

访客4年前黑客工具823

本系列题目来源: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类型为.

包含

日志文件

相关文章

江门职业技术学院怎么样 好不好

江門職業技術學院怎麼樣 好欠好讀書啊,我信赖但有朗朗書聲出破廬,遲早有一日有萬鯉躍龍門之奇象。   高考過後就是填報志願,有許多人從重要性上將其稱之為第二次高考。還有更多的過來人坦言“考得好不如報...

详细分析Mimikatz:WDigest

详细分析Mimikatz:WDigest

Mimikatz是个十分强劲工具,大家曾装包过、封裝过、引入过、应用powershell更新改造过这个工具,如今大家又逐渐向其键入运行内存dump数据信息。不论怎样,从Windows系统软件lsass...

网站降权的特征分析

网站降权的特征分析

走路不小心会摔跟头,网站不小会被降权。网站降权大概是所有的站长伴侣最不肯听到的话了,说欠好听点它就像突如其来的地动一样,好端端的溘然来这么一下,那么你整小我私家就欠好了。咱们小学学地理的时候老师大概已...

家里饲养的大鹅,它们的祖先是天鹅还是野雁?蚂蚁庄园2020年5月15日答

家里饲养的大鹅,它们的祖先是天鹅还是野雁?蚂蚁庄园2020年5月15日答

今天支付宝蚂蚁庄园2020年5月15日庄园小课堂的答案是什么呢?蚂蚁庄园庄园小课堂2020年5月15日的问题是【家里饲养的大鹅,它们的祖先是】和【小鸡宝宝考考你,憋回去的屁,最终很可能会】。下面就为大...

黑客帝国地铁(黑客帝国地铁的隐喻)

黑客帝国地铁(黑客帝国地铁的隐喻)

本文目录一览: 1、黑客帝国 尼奥之路没声音过不去地铁关卡 2、黑客帝国攻略 3、黑客帝国3救世主为什么困住在地铁站啊!2结束后都说为什么去了地铁站喔!那么救世主是怎么困住的啊! 4、黑客...

怎么破解我老婆跟别人删除的微信聊天记录(免费技巧)

近日,一位微信好友向律师求助。 魏友姓柯,是杭州一所大学的大二学生。 Shockker说,他不小心在微信上把钱转给了一个陌生人,现在这名陌生人正在屏蔽他。 “这才刚开学,女朋友说她的电脑总是坏的...