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

对前端传入的参数没有进行过滤和验证。
(1)进入后台

(2)进入Deductions页面

(3)新增一个员工扣除情况

(4)输入

(5)弹出XSS漏洞

“E:\phpstudy_pro\WWW\aps\admin\employee_add.php”

对前端传入的信息不进行过滤和验证,直接插入到数据库中。
(1)登录后台

(2)进入员工列表,点击添加

(3)输入框输入后保存

(4)弹出XSS漏洞,而且每次进入该页面都会弹出,所以为存储型XSS漏洞

“E:\phpstudy_pro\WWW\aps\admin\employee_edit.php”

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

(2)进入员工列表

(3)编辑员工信息,在Firstname中输入后保存

(4)弹出XSS漏洞

“E:\phpstudy_pro\WWW\aps\admin\employee_edit_photo.php”

没有对上传的文件设置白名单或黑名单,根本没有过滤
(1)登入后台

(2)点开员工列表

(3)修改员工照片

(4)上传phpinfo



“E:\phpstudy_pro\WWW\aps\admin\deduction_edit.php”

没有对前端传入的参数进行严格的过滤
(1)进入后台

(2)进入Deductions页面

(3)点击编辑员工信息

(4)将描述改为

(5)弹出XSS漏洞

“E:\phpstudy_pro\WWW\aps\admin\position_add.php”

没有对前端传入的参数进行验证和过滤
(1)进入后台

(2)进入positions界面

(3)添加一个信息

(4)输入

(5)弹出XSS漏洞

“E:\phpstudy_pro\WWW\aps\admin\position_edit.php”

没有对前端传入的参数进行验证和过滤
(1)进入后台

(2)进入positions界面

(3)编辑一个信息

(4)输入

(5)弹出XSS漏洞

“E:\phpstudy_pro\WWW\aps\admin\profile_update.php”

没有对输入的数值进行严格的过滤和验证
(1)进入后台

(2)右上角点击管理员头像

(3)点击update

(4)在名字地方输入

(5)弹出XSS

“E:\phpstudy_pro\WWW\aps\attendance.php”

ID用户可控,而且没有对用户输入的值进行过滤和验证
(1)前台输入一位员工的ID

(2)开启抓包,点sign in,抓到包

(3)发送到重发器,点发送,发现正常显示

(4)ID后面加上单引号,提示没有该ID:

(5)后面加上and ‘1’='1 发现正常显示,所以存在SQL注入

“E:\phpstudy_pro\WWW\aps\admin\login.php”

没有对前端传入的参数进行过滤和验证。
(1)进入后台登录界面,输入正确用户名和密码:

(2)开启抓包,点击sign in抓到包:

(3)在用户名后加上’ and ‘1’ = '1 发送

(4)发现依然可以成功登录,存在SQL注入

“E:\phpstudy_pro\WWW\aps\admin\profile_update.php”

对上传的文件没有验证和过滤
(1)进入后台

(2)右上角点击管理员头像

(3)点击update后选择文件,上传phpinfo:

(4)更改后右键打开管理员头像:

注:此CMS仅存在一个admin,如果存在多个admin,则更好利用。
“E:\phpstudy_pro\WWW\aps\admin\attendance_delete.php”

没有对当前用户身份以及删除的ID进行核验,导致随意更改ID并删除
(1)后台管理界面,attendance,点击一个信息删除:

(2)抓包可以抓到:

(3)更改ID为82,发送,可以看到刚刚选中的第一条没被删掉,第二条被删掉了:

修改id即可任意编辑

任意删除,任意编辑


