文章源自【字节脉搏社区】-字节脉搏实验室 作者-Jadore FastCGI之未授权访问 FastCGI是一个通信协议,可以用来进行数据交换,也即中间件和某个后端语言进行数据交换的协议。...PHP-FPM(FastCGI进程管理器):解析FastCGI协议,即当中间件将用户的请求按照FastCGI的规则打包好后传送给FPM进行解析。...Vul:PHP-FPM默认监听9000端口,如果该端口可访问,则攻击者可以构造FastCGI协议和FPM进行通信。 利用条件: 找到一个已存在的PHP文件 此处附上EXP: ? ? ? ? ? ?...FastCGI之任意命令执行 Vul:Nginx 上 fastcgi_split_path_info 在处理带有 %0a 的请求时,会因为遇到换行符 \n 导致 PATH_INFO 为空。...Nginx + php-fpm 的服务器,在使用如下配置的情况下,都可能存在远程代码执行漏洞: ? Tsudo apt install golang-go ?
SSRF漏洞思维导图如下,本篇主要介绍利用SSRF漏洞攻击FastCGI 0x00.PHP-FPM FastCGI 未授权利用 首先我们使用Vulhub漏洞靶场快速搭建漏洞环境进行复现,感受一波漏洞的危害...目录,一键搭建漏洞环境 docker-compose up -d 环境搭建完成,如下图可以看到,FPM Fastcgi未授权漏洞 docker镜像正在运行,且监听在本地9000端口 执行P牛漏洞EXP...这个请求后,会启动对应的CGI 程序,也就是PHP解析器 接下来PHP解析器会解析php.ini文件,初始化执行环境,然后处理请求,再以CGI规范的格式返回处理后的结果,退出进程,Web server...上述原理图中提到的Socket 通信即为此模式 配合文章开头的漏洞演示来看,我们利用SSRF漏洞攻击FastCGI是在TCP模式下进行 0x02.FastCGI攻击原理 FastCGI协议 HTTP协议是浏览器和服务器中间件进行数据交换的协议...协议的学习,漏洞原理的具体利用,得出FastCGI 的利用大多数还是配合SSRF漏洞才能造成巨大危害的结论。
ngx_http_fastcgi_module 模块允许将请求传递给 FastCGI 服务器。...示例配置 location / { fastcgi_pass localhost:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME.../home/www/scripts/php$fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param...; 如果域名解析为多个地址,则所有这些地址都将以循环方式使用。...在这种情况下,如果地址被指定为域名,则在所描述的服务器组中搜索名称,如果未找到,则使用解析器来确定。
NGNIX 有两份 fastcgi 配置文件,分别是 fastcgi_params 和 fastcgi.conf,其区别只有一点点。...fastcgi_params vs fastcgi.conf 它们都是用于配置 NGINX 与 FastCGI 应用程序通信的参数文件。...fastcgi.conf: 包含了更高级的FastCGI参数,可以用于优化FastCGI应用程序的性能,如设置连接超时时间、缓冲区大小等。...fastcgi.conf 比 fastcgi_params 多了一行 SCRIPT_FILENAME 的定义 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name...fastcgi.conf; 从 fastcgi-php.conf 的内容可以看出,它帮我们封装了一些公共代码。
概述 FastCGI全称 快速通用网关接口(FastCommonGatewayInterface)。...FastCGI像是一个常驻(long-live)型的CGI,FastCGI 致力于减少Web服务器与CGI程序之间进行互动的开销,从而使Web服务器可以同时处理更多的Web请求。...与 CGI 为每个Web请求创建一个新的进程不同, FastCGI 使用持续的进程来处理一连串的Web请求,这些进程由FastCGI进程管理器管理,而不是Web服务器。...2、优点与 CGI 一样, FastCGI 也是语言无关的 FastCGI技术目前支持语言有 PHP、C/C++、Java、Perl、Tcl、Python、SmallTalk、Ruby、Aardio等。...如CGI,FastCGI的不依赖于任何Web服务器的内部架构,因此即使服务器技术的变化, FastCGI依然稳定不变。
目录 文件解析漏洞 IIS解析漏洞 目录解析漏洞(/test.asp/1.jpg) 文件名解析漏洞(test.asp;.jpg) 畸形解析漏洞(test.jpg/*.php) 其他解析漏洞 Ngnix解析漏洞...畸形解析漏洞(test.jpg/*.php) %00空字节代码解析漏洞 CVE-2013-4547(%20%00) Apache解析漏洞 文件名解析漏洞 .htaccess文件 ?...畸形解析漏洞(test.jpg/*.php) 微软发布了IIS7.0修补了IIS6.0的解析漏洞,没想到IIS7.0爆出更严重的畸形解析漏洞,于是微软急忙发布了IIS7.5 在 IIS7.0中,在默认Fast-CGI...临时解决办法:设置 cgi.fix_pathinfo为0 这个解析漏洞和下面讲的Nginx的解析漏洞是一样的。 其他解析漏洞 在windows环境下,xx.jpg[空格] 或 xx.jpg....(IIS在这一点和Nginx是一样的,同样存在这一问题) %00空字节代码解析漏洞 原理:Ngnix在遇到%00空字节时与后端FastCGI处理不一致,导致可以在图片中嵌入PHP代码然后通过访问xxx.jpg
目录 文件解析漏洞 IIS解析漏洞 目录解析漏洞(/test.asp/1.jpg) 文件名解析漏洞(test.asp;.jpg) 畸形解析漏洞(test.jpg/*.php) 其他解析漏洞 Ngnix解析漏洞...畸形解析漏洞(test.jpg/*.php) %00空字节代码解析漏洞 CVE-2013-4547(%20%00) Apache解析漏洞 文件名解析漏洞 .htaccess文件 文件解析漏洞主要由于网站管理员操作不当或者...畸形解析漏洞(test.jpg/*.php) 微软发布了IIS7.0修补了IIS6.0的解析漏洞,没想到IIS7.0爆出更严重的畸形解析漏洞,于是微软急忙发布了IIS7.5 在 IIS7.0中,在默认Fast-CGI...临时解决办法:设置 cgi.fix_pathinfo为0 这个解析漏洞和下面讲的Nginx的解析漏洞是一样的。 其他解析漏洞 在windows环境下,xx.jpg[空格] 或 xx.jpg....(IIS在这一点和Nginx是一样的,同样存在这一问题) %00空字节代码解析漏洞 原理:Ngnix在遇到%00空字节时与后端FastCGI处理不一致,导致可以在图片中嵌入PHP代码然后通过访问xxx.jpg
FastCGI实际上是以CGI变化而来的。因此,首先要了解CGI,下面通过介绍FastCGI来详细了解。...FastCGI CGI协议相关服务效率低下,为了寻求解决方法,产生了FastCGI。 虽然目的一样,但是fastcgi做了重大的改进,他基于下面的原理。...fastcgi_pass 使用环境 location,if 指定什么请求应该转递飞fastcgi服务器,具体做法是先定义fastcgi_pass,然后再在location中应用。...示例: fastcgi_param SCRIPT_FILENAME /home/website.com/www$fastcgi_script_name; fastcgi_pass_header...语法:fastcgi_hide_header headername; fastcgi_index 使用环境:http,server,location fastcgi服务不支持自动 目录索引
题语 是指中间件(Apache、nginx、iis等)在解析文件时出现了漏洞,从而,黑客可以利用该漏洞实现非法文件的解析。...文件解析漏洞与文件上传漏洞是两个不同的漏洞概念,文件解析漏洞是利用了中间件(Apache、nginx、iis等)配置不当的弱点进行攻击。...0x00:PHP解析漏洞 Apache将从右至左开始判断后缀,若x3非可识别后缀,再判断x2,一直到找到可识别后缀为止,然后将该可识别后缀进解析。...0x01:PHP CGI解析漏洞 Nginx 默认是以 CGI 的方式支持 PHP 解析的,普遍的做法是在 Nginx 配置文件中通过正则匹配设置 SCRIPT_FILENAME。...可以通过利用此漏洞,攻击者可以导致服务器使用 PHP 的 FastCGI 作为 PHP 的服务器上执行任何公开访问的文件。
FastCGI 与 CGI 2.1 相同点 与 CGI 一样, FastCGI 也是语言无关的 与 CGI 一样, FastCGI 在独立于Web服务器的(FastCGI)进程中运行应用程序..., FastCGI 依旧很稳定。...FastCGI 的这些特性使其将来可充当更多的角色。 3. 架构图 FastCGI 的架构图如下: FastCGI 的工作流程如下: 【准备阶段】: 1....当客户端请求到达Web服务器时,Web服务器将该请求采用socket方式转发到 FastCGI 主进程, FastCGI 主进程选择并连接到一个CGI解释器(关联 FastCGI 子进程),然后,Web...CGI 就是所谓的短生存期应用程序,而 FastCGI 就是所谓的长生存期应用程序, FastCGI 像是一个常驻(long-live)型的 CGI , FastCGI 可以一直执行着,而不会每次花费时间去
于是就有了fastcgi。 ...一般情况下,FastCGI的整个工作流程是这样的: 1.Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module) 2.FastCGI进程管理器自身初始化...3.当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。 Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。...4.FastCGI 子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时, 请求便告处理完成。...FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在Web Server中)的下一个连接。 在CGI模式中,php-cgi在此便退出了。
先说下fastcgi的优点: Fastcgi的优点: 从稳定性上看, fastcgi是以独立的进程池运行来cgi,单独一个进程死掉,系统可以很轻易的丢弃,然后重新分 配新的进程来运行逻辑. · 从安全性上看...,Fastcgi支持分布式运算. fastcgi和宿主的server完全独立, fastcgi怎么down也不会把server搞垮. · 从性能上看, fastcgi把动态逻辑的处理从server中分离出来.../configure –prefix=/usr/local/apache make && make install 安装fastcgi wget http://www.fastcgi.com/dist/...mod_fastcgi-2.4.6.tar.gz tar xzf mod_fastcgi-2.4.6.tar.gz cd mod_fastcgi-2.4.6 cp Makefile.AP2 Makefile...模块装载代码: LoadModule fastcgi_module modules/mod_fastcgi.so 安装php5.2 wget http://us2.php.net/get/php-5.2.17
Nginx-解析漏洞 漏洞描述 由于Nginx.conf的如下配置导致nginx把以’.php’结尾的文件交给fastcgi处理,为此可以构造http://liuwx.cn/test.png/.php...漏洞复现环境 Windows Server 2003 Nginx PhpStudy ? 版本环境是:Nginx + PHP5.2 2003服务器必须能和PC物理主机相互Ping通 ?...Nginx-解析漏洞复现 一个一句话图片木马为:test.jpg,如果在URL中访问:http://www.liuwx.cn/test.jpg/.a.php会吧图片当做脚本格式解析执行! ?...我们按照Nginx解析漏洞,后面加上/.php: http://192.168.119.134/hacker.jpg/.php ? 成功执行phpinfophp代码! ?...漏洞防御 1、将php.ini文件中的cgi.fix_pathinfo的值设置为1 2、将/etc/php5/fpm/pool.d/www.conf中security.limit_ectensions
前言 今天看到了一些关于apache 解析漏洞的文章,下面做一下梳理和测试。大牛别喷我。 每次遇到文件上传,关于apache+PHP 的服务器,都会测试一下服务器的解析漏洞。...更多的时候,我们只是知道更改一个文件名例如这样, 11.php.xxx 有可能被解析, 我们先不讨论文件上传的一些姿势,这里只讨论apache解析漏洞的成因。...测试 前一阶段的时候出现了新的php的解析漏洞cve-2017-15715这个漏洞的的成因是%0a 可以绕过最新的php对文件名的匹配:即以.php结尾,但是问题是apache漏洞出现的原因就是apache...总结 apache漏洞主要形成于网站的配置文件,如果配置不当,很有可能出现解析漏洞,如下是存在的主要原因: Apache 解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断...AddType application/x-httpd-php .jpg 有可能导致解漏洞 AddHandler 也有可能导致解析漏洞 防止绕过解析漏洞的方式: 开启重写模块 可以在mime.types
漏洞知识库 网络安全/渗透测试/代码审计/ 关注 Apache-解析漏洞 Apache解析漏洞 在Apache中,访问:liuwx.php.360会从右往左识别后缀,存在解析漏洞的时候,会从右往左识别哪个能解析...,360是不能被解析,然后往左识别到php就识别能解析,这就是Apache的解析漏洞 漏洞复现环境 Windows Server 2003_x64 Apache PhpStudy 2003服务器必须能和...Apache文件解析漏洞与用户的配置有密切的关系,严格来说属于用户配置问题。...Apache文件解析漏洞涉及到一个解析文件的特性。Apache默认一个文件可以有多个以点.分割的后缀,当右边的后缀无法识别,则继续向左识别,发现后缀是php,交个php处理这个文件。...漏洞复现 首先创建了一个liwux.shell的文件: ? 很显然.shell的文件后缀是未知的后缀名,但是浏览器还是把它当做php执行解析了! ?
解析漏洞 利用上传漏洞,通常需要结合Web容器(IIS、Nginx、Apache、Tomcat)的解析漏洞来让上传的漏洞得到实现 IIS解析漏洞 IIS5.x/IIS 6.0文件解析漏洞 目录名中含有...利用此特性,也可能造成“文件解析漏洞”。...Nginx解析漏洞 Nginx <= 0.8.37 影响版本:0.5/0.6/<0.7.65/<0.8.37 Fast-CGI开启状态下,存在如同IIS7一样的漏洞:URL地址后面添加xx.php会将...设置为 0 [关闭] 再Nginx配置中设置:当类似xx.jpg/xx.php的URL访问时候,返回403; if ( $fastcgi_script_name ~ ..*/....*php) { return 403 ; } Apache解析漏洞 Apache后缀名解析漏洞 Apache解析文件的规则时从右到左开始判断,如果后缀名为不可识别文件解析,则会继续向左判断,
ThinkPHP 5.x 远程代码执行漏洞-01 简介 漏洞名称:ThinkPHP 5.0.x-5.1.x 远程代码执行漏洞 影响范围:ThinkPHP v5.0.5 < 5.0.23,ThinkPHP...v5.1.0 < 5.1.31 威胁等级:严重 漏洞类型:远程代码执行 由于ThinkPHP v5框架对控制器名没有进行足够的安全检测,导致在没有开启强制路由的情况下,黑客构造特定的请求,可直接进行远程的代码执行...我们拿第一个命令执行来举例:主要审计如何执行到命令的 点断点: 跳出去继续: 然后就是无限进入函数内部,直到: 进去:仔细思考传参 ThinkPHP 5.1.x远程代码执行漏洞-02 简介 漏洞名称...:ThinkPHP 5.1.x 远程代码执行漏洞 影响范围:ThinkPHP v5.1.0 < 5.1.31 威胁等级:严重 漏洞类型:远程代码执行 复现 命令执行 http://域名?
简介 文件上传漏洞是web应用最常见的漏洞之一,也是危害最大的漏洞之一。web应用有很多场景需要用户自己上传文件,比如头像上传。..."php"-->"" 时,"phphpp" --> "php"; 0x00截断 00截断是操作系统层的漏洞,由于操作系统是C语言或汇编语言编写的,这两种语言在定义字符串时,都是以\0(即0x00)作为字符串的结尾...图片马 向图片中植入 php 代码,但是执行较困难,必须要中间件将该文件认为是 php 文件.除非有有相关的中间件解析漏洞或者有特定的运行php的网页。
http{ #缓存路径 fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2 keys_zone=licache:...fastcgi_buffer_size 64k; #最多可以创建8个大小为64k的缓冲区 fastcgi_buffers 8 64k; #默认值是fastcgi_buffers...的两倍 fastcgi_busy_buffers_size 128k; #表示在写入缓存文件时使用多大的数据块,默认值是fastcgi_buffers的两倍 fastcgi_temp_file_write_size...128k; # fastcgi_cache表示开启FastCGI缓存并为其指定一个名称。...fastcgi_cache_valid 200 302 1h; fastcgi_cache_valid 301 1d; fastcgi_cache_valid any 1m; fastcgi_cache_min_uses
领取专属 10元无门槛券
手把手带您无忧上云