动态线条
动态线条end

文件上传:覆盖.htaccess绕过+代码审计

.htaccess的基本作用

- 控制文件解析      			//重要
- URL重写、自定义错误页面
- MIME类型配置
- 访问权限控制等
- 主要体现在伪静态的应用
- 图片防盗链
- 自定义404错误页面
- 阻止/允许特定IP/IP段
- 目录浏览与主页
- 禁止访问指定文件类型
- 文件密码保护

避免使用.htaccess文件有两个主要原因:

1)性能:如果AllowOverride启用了.htaccess文件,则Apache需要在每个目录查找.htaccess文件,无论是否找到,启用都会导致性能下降。另外,对每一个请求,都需要读取一次.htaccess文件,还有Apache必须在所有上级的目录中查找.htaccess文件,以使所有有效的指令都起作用,例如:
如果请求/www/htdocs/example中的页面,Apache必须查找以下文件:
/.htaccess /www/.htaccess /www/htdocs/.htaccess /www/htdocs/example/.htaccess

2)安全:这样会允许用户自己修改服务器的配置,这会导致某些意想不到的修改。
3)作用域:当前目录

漏洞产生的原因

.htaccess文件(将filename.type文件按照说明的文件格式进行解析)

与等价后缀名原理相同,都是指定解析方法去解析指定文件

<FilesMatch "filename.type">
SetHandler application/x-httpd-php
</FilesMatch>

防御

随机为上传文件进行重命名

原理:更改了“.htaccess”文件名,apache只认识“.htaccess”文件,如果随机重命名,造成不识别该配置文件,那么文件中所指定的文件识别方式也将失效

操作过程

1)上传“.htaccess”文件

2)上传内容为一句话木马的jpg文件

3)菜刀链接

image-20211111201451663

posted @ 2022-01-26 19:12  v1v1v1  阅读(306)  评论(0)    收藏  举报