CTFhub技能树之文件上传

CTFhub技能树之文件上传


无验证

没什么好说的,直接传

前端验证

很明显是前端js阻止了php文件上传

F12找到验证,删除成功上传

image-20210810173341536

返回了路径

image-20210810173423274

蚁剑连接拿到flag

image-20210810173519286

.htaccess

F12可以看到基本上对php\php5之类的一系列后缀都做了禁用

image-20210810200429441

标题也告诉了我们,改变.htaccess规则,即上传对应的图片马,解析成php文件执行一句话木马进行连接。

将.htaccess文件编辑如下,将任何文件解析成php

SetHandler application/x-httpd-php

抓包,修改上传

image-20210810200854165

上传成功

image-20210810200933355

接下来上传一句话的图片木马

图片马制作,在同一目录下准备好一句话木马和一张图片,然后制作如下

image-20210810203125587

/b 表示一个二进制文件

/a 表示一个ASCII文本文件

+ 表示将多个文件合并成一个文件
这里用第一种/b,/a会无法解析,可能是不支持解析ascll,可以尝试一下上传之后访问对应的图片地址会报错。

然后我们上传图片马,上传成功,返回路径

image-20210810201549223

/upload/shellup.jpg

可以先打开这个路径下的jpg文件查看一下,这里是上图的第二种最简便的制作马,能成功解析

image-20210810203034049

image-20210810202830577

蚁剑连接拿到flag

image-20210810202920134

头文件检测

限制了白名单,对文件的头部进行检测,只允许上传jepg、jpg、gif、png

头文件检测,直接上传刚刚的图片马,burp拦截后把后缀改了就可了

发现报错,文件错误,这里制作一张简单的png文件,再burp拦截时手动加上一句话木马,修改后缀为php

image-20210810205516149

成功上传

image-20210810205630640

返回了路径

image-20210810205554391

蚁剑连接失败

image-20210810205926073

估计是图片的内容太过复杂很多符号引起了错误

image-20210810210011896输入中出现意外字符:“”(ASCII=14)state=0,位于/var/www/html/upload/123.php的第12行

再上传一下,把图片掏空,只留一个头和一句话木马

image-20210810210230552

这下应该没错了

蚁剑成功连接

image-20210810210329279

拿到flag

image-20210810210356705

MIME绕过

修改验证模块即可上传

这里解释一下MIME-Type:

MIME(multipurpose Internet mail extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

实际上验证模块就是Content-Type: image/png 这一部分

直接上传一个php,修改为png或者其他图片即可绕过

image-20210810213438489

蚁剑连接拿到flag

image-20210810213619070

00截断

在php5.2版本存在的00截断,在road参数后面加上文件名再用%00截断就会上传成一个php文件,从而绕过

image-20210810212013261

蚁剑连接拿到flag

image-20210810212135962

双写后缀

先传一个php发现能上传,但是返回后会将php全部去除,这好办,如题目,双写后缀

先来个shell.phpp,发现只剩下个p,找到规律去多重发几次,得到完整的文件即可

image-20210810214159077

例如 shell.pphpph

image-20210810214335816

然后蚁剑连接拿到flag

image-20210810214628853

总结

文件上传的利用姿势有很多,可以多方位去思考

至此,技能书上文件上传部分有的环境复现完了,持续跟新!

image-20210810214755905

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值