akcms 代码执行漏洞

admin 2021年4月3日19:29:54评论100 views字数 1036阅读3分27秒阅读模式

上周挖出的akcms的后台模版getshell感觉没什么新意,然后又仔细看了看代码,发现了一个比较有“前途”的洞,代码执行漏洞,而且出问题函数是作者提供给建站用户进行二次开发时使用的,也就是说这个问题放大的程度也会要大些。

0x01、原理分析

漏洞问题主要存在于includecommon.func.php文件中的ak_if函数,先看下代码

eval函数参数中的变量$variable未作任何的处理变插入到了函数中。ak_if这个函数的主要用途是,提供给建站用户一个简单的逻辑判断功能的接口。对比一下4.1版本中的这段代码

可以发现,相差了eval函数调用的语句。在4.1.4之前的版本中,这个函数并没有调用eval函数,但是在4.1.4中,作者为了增加ak_if对复杂逻辑的判断,添加了这条语句。

这导致了,如果用户对于$variable变量可控,将会执行任意php代码。

0x02、漏洞验证

为了重现漏洞,我下载了作者基于akcms2.4.2的blog系统,在cachetemplates%%7D^7D3^7D3A5C77%%comments.htm.php模板中调用了这个函数

经过跟踪变量发现,这个模版是在用户回复浏览者提问时用到的。所以,要利用这个漏洞需要有一个可以回复浏览者提问的后台账号。下图为利用过程

0x03、总结

漏洞函数是提供给建站者自行扩展的,如果,建站者将ak_if函数利用在前台用户交互的地方,后果将不堪设想

PS:上次写完akcms模版漏洞审计的帖子,好多童鞋回帖说,应当把整个审计过程写出来,方便大家借鉴经验。其实代码审计是一个很枯燥的过程,也许你可能努力地看了一周的源码,到最后说明的时候发现原来两三句就可以讲明白了。这两天我会自己总结下,自己学习代码审计的过程,发篇帖子,和大家共享下自己方法。

转自:https://t00ls.net/viewthread.php?tid=20810&extra=page%3D1%26amp%3Borderby%3Ddateline%26amp%3Bfilter%3D2592000

文章来源于lcx.cc:akcms 代码执行漏洞

相关推荐: 【漏洞】百度新闻url处理bug 可引发漏洞

昨天浏览新闻时,在百度新闻发现如下缺陷: 正常页面: http://news.baidu.com/n?cmd=2&class=civilnews&page=http://cqqj.cqnews.net/qjxwzx/qjzhxw/201007/…

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年4月3日19:29:54
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   akcms 代码执行漏洞https://cn-sec.com/archives/322951.html

发表评论

匿名网友 填写信息