某国外CMS代码审计

代码审计实战·网安·生命在于折腾 · 2022-06-21 · 69 人浏览
某国外CMS代码审计

该国外CMS,使用Seay源代码审计系统扫描后扫出64个漏洞,其中SQL注入20个,文件包含4个,代码执行2个,任意文件读取/删除/修改/写入35个,变量覆盖1个,XSS2个。
但经过人工审计和核查,

一、员工扣除工资增加—XSS漏洞

1、漏洞url

"E:\phpstudy_pro\WWW\aps\admin\deduction_add.php"

2、漏洞源代码

image.png

3、漏洞产生原因

对前端传入的参数没有进行过滤和验证。

4、漏洞复现

(1)进入后台
image.png
(2)进入Deductions页面
image.png
(3)新增一个员工扣除情况
image.png
(4)输入
image.png
(5)弹出XSS漏洞
image.png

二、员工添加页面存在—XSS漏洞

1、漏洞url

"E:\phpstudy_pro\WWW\aps\admin\employee_add.php"

2、漏洞源代码

image.png

3、漏洞产生原因

对前端传入的信息不进行过滤和验证,直接插入到数据库中。

4、漏洞复现

(1)登录后台
image.png
(2)进入员工列表,点击添加
image.png
(3)输入框输入后保存
image.png
(4)弹出XSS漏洞,而且每次进入该页面都会弹出,所以为存储型XSS漏洞
image.png

三、员工编辑页面存在—XSS漏洞

1、漏洞url

"E:\phpstudy_pro\WWW\aps\admin\employee_edit.php"

2、漏洞源代码

image.png

3、漏洞产生原因

对前端传入的数值不进行过滤和验证,直接插入数据库

4、漏洞复现

(1)进入后台
image.png
(2)进入员工列表
image.png
(3)编辑员工信息,在Firstname中输入后保存
image.png
(4)弹出XSS漏洞
image.png

四、员工编辑照片页面—文件上传

1、漏洞url

"E:\phpstudy_pro\WWW\aps\admin\employee_edit_photo.php"

2、漏洞源代码

image.png

3、漏洞产生原因

没有对上传的文件设置白名单或黑名单,根本没有过滤

4、漏洞复现

(1)登入后台
image.png
(2)点开员工列表
image.png
(3)修改员工照片
image.png
(4)上传phpinfo
image.png
image.png
image.png

五、员工扣除工资编辑—XSS漏洞

1、漏洞url

"E:\phpstudy_pro\WWW\aps\admin\deduction_edit.php"

2、漏洞源代码

image.png

3、漏洞产生原因

没有对前端传入的参数进行严格的过滤

4、漏洞复现

(1)进入后台
image.png
(2)进入Deductions页面
image.png
(3)点击编辑员工信息
image.png
(4)将描述改为
image.png
(5)弹出XSS漏洞
image.png

六、员工位置添加存在—XSS漏洞

1、漏洞url

"E:\phpstudy_pro\WWW\aps\admin\position_add.php"

2、漏洞源代码

image.png

3、漏洞产生原因

没有对前端传入的参数进行验证和过滤

4、漏洞复现

(1)进入后台
image.png
(2)进入positions界面
image.png
(3)添加一个信息
image.png
(4)输入
image.png
(5)弹出XSS漏洞
image.png

七、员工位置编辑存在—XSS漏洞

1、漏洞url

"E:\phpstudy_pro\WWW\aps\admin\position_edit.php"

2、漏洞源代码

image.png

3、漏洞产生原因

没有对前端传入的参数进行验证和过滤

4、漏洞复现

(1)进入后台
image.png
(2)进入positions界面
image.png
(3)编辑一个信息
image.png
(4)输入
image.png
(5)弹出XSS漏洞
image.png

八、Admin Profile有—XSS漏洞

1、漏洞url

"E:\phpstudy_pro\WWW\aps\admin\profile_update.php"

2、漏洞源代码

image.png

3、漏洞产生原因

没有对输入的数值进行严格的过滤和验证

4、漏洞复现

(1)进入后台
image.png
(2)右上角点击管理员头像
image.png
(3)点击update
image.png
(4)在名字地方输入
image.png
(5)弹出XSS
image.png

九、 员工打卡前台页面—SQL注入

1、漏洞url

"E:\phpstudy_pro\WWW\aps\attendance.php"

2、漏洞源代码

image.png

3、漏洞产生原因

ID用户可控,而且没有对用户输入的值进行过滤和验证

4、漏洞复现

(1)前台输入一位员工的ID
image.png
(2)开启抓包,点sign in,抓到包
image.png
(3)发送到重发器,点发送,发现正常显示
image.png
(4)ID后面加上单引号,提示没有该ID:
image.png
(5)后面加上and '1'='1 发现正常显示,所以存在SQL注入
image.png

十、后台管理登录页面—SQL注入

1、漏洞url

"E:\phpstudy_pro\WWW\aps\admin\login.php"

2、漏洞源代码

image.png

3、漏洞产生原因

没有对前端传入的参数进行过滤和验证。

4、漏洞复现

(1)进入后台登录界面,输入正确用户名和密码:
image.png
(2)开启抓包,点击sign in抓到包:
image.png
(3)在用户名后加上' and '1' = '1 发送
image.png
(4)发现依然可以成功登录,存在SQL注入
image.png

十一、Admin Profile有—文件上传漏洞

1、漏洞URL

"E:\phpstudy_pro\WWW\aps\admin\profile_update.php"

2、漏洞源代码

image.png

3、漏洞原因

对上传的文件没有验证和过滤

4、漏洞复现

(1)进入后台
image.png
(2)右上角点击管理员头像
image.png
(3)点击update后选择文件,上传phpinfo:
image.png
(4)更改后右键打开管理员头像:
image.png

十二、attendance存在—水平越权,任意删除

注:此CMS仅存在一个admin,如果存在多个admin,则更好利用。

1、漏洞URL

"E:\phpstudy_pro\WWW\aps\admin\attendance_delete.php"

2、漏洞源代码

image.png

3、漏洞原因

没有对当前用户身份以及删除的ID进行核验,导致随意更改ID并删除

4、漏洞复现

(1)后台管理界面,attendance,点击一个信息删除:
image.png
(2)抓包可以抓到:
image.png
(3)更改ID为82,发送,可以看到刚刚选中的第一条没被删掉,第二条被删掉了:
image.png

十三、同理:Attendance页面也存在任意编辑

修改id即可任意编辑
image.png

十四、员工列表也存在同样的问题

任意删除,任意编辑
image.png

十五、Cash Advance同理,不复现了,修改ID即可

image.png
image.png

十六、Positions同理,不复现了,修改ID即可

代码审计
Theme Jasmine by Kent Liao 京ICP备2023023335号-2京公网安备11010802044340号