---
# System prepended metadata

title: Pentest fix

---

# Pentest fix

## **5.1** 
### Bước 1
* Xem trước các user có quyền chọn , chèn, thêm , sửa , xóa database 
*  **Câu lệnh**     
```
SELECT User , HOST , Select_priv , Insert_priv,Create_priv , Update_priv ,Delete_priv , Drop_priv    FROM
         mysql.user 
        where
        (
         Select_priv = 'Y' or
         Insert_priv = 'Y' or
         Create_priv = 'Y' or
         Update_priv = 'Y' or
         Delete_priv = 'Y' or
         Drop_priv = 'Y' 
         ) and 
         User NOT IN(<DANH SACH USER KHÔNG ĐƯỢC XÓA QUYỀN>)
         
        ORDER BY
         Host,
         User
```
* **note** ```*<DANH SACH USER KHÔNG ĐƯỢC XÓA QUYỀN> ví dụ 'root'```
### Bước 2: 
* Lấy ra chuối các user có quyền chọn , chèn, thêm , sửa , xóa database 
* **Câu lệnh**     
    ```
        select GROUP_CONCAT(t.user_infor) FROM ( SELECT CONCAT("'",User, "'@'",HOST,"'") as user_infor FROM
         mysql.user
        where
        (
         Select_priv = 'Y' or
         Insert_priv = 'Y' or
         Create_priv = 'Y' or
         Update_priv = 'Y' or
         Delete_priv = 'Y' or
         Drop_priv = 'Y' 
         ) and 
         User NOT IN(<DANH SACH USER KHÔNG ĐƯỢC XÓA QUYỀN>)
         
        ORDER BY
         Host,
         User
         ) as t
    ```
* **Note** ```*<DANH SACH USER KHÔNG ĐƯỢC XÓA QUYỀN> ví dụ 'root'```
* **Kết quả** 
  ```
      'root'@'%','test2'@'%','test5'@'%','toanpk'@'%','debian-sys-maint'@'localhost','rsafi'@'localhost'

  ```
### Bước 3: 
* sau khi lấy được danh sách user cần phải update thực hiện chạy lệnh xóa quyền
   ```
       REVOKE SELECT , INSERT , CREATE , UPDATE , DELETE, DROP  ON *.* FROM < DANH SÁCH USER LẤY ĐƯỢC TỪ BƯỚC 2>
   ```
  
## **5.2**
### Bước 1:
* Xem trước các user có quyền Thao tác file 
```
       SELECT User , HOST , File_priv   FROM
         mysql.user 
       where
         File_priv = 'Y' 
         and 
         User NOT IN(<DANH SACH USER KHÔNG ĐƯỢC XÓA QUYỀN>)
         
        ORDER BY
         Host,
         User
```
* **note** ```*<DANH SACH USER KHÔNG ĐƯỢC XÓA QUYỀN> ví dụ 'root'```
### Bước 2: 
* Lấy ra các user có quyền Thao tác file 
* **Câu lệnh**     
    ```
         select GROUP_CONCAT(t.user_infor) FROM ( SELECT CONCAT("'",User, "'@'",HOST,"'") as user_infor FROM
         mysql.user 
        where
         File_priv = 'Y' 
         and 
         User NOT IN(<DANH SACH USER KHÔNG ĐƯỢC XÓA QUYỀN>)
         
        ORDER BY
         Host,
         User
         ) as t
    ```
* **Note** ```*<DANH SACH USER KHÔNG ĐƯỢC XÓA QUYỀN> ví dụ 'root'```
* **Kết quả** 
  ```
      'toanpk'@'%','debian-sys-maint'@'localhost','rsafi'@'localhost'
  ```
### Bước 3: 
* sau khi lấy được danh sách user cần phải update thực hiện chạy lệnh xóa quyền
   ```
       REVOKE FILE  ON *.* FROM < DANH SÁCH USER LẤY ĐƯỢC TỪ BƯỚC 2>
   ```
## **5.4**
 tương tự 5.2 thay File_priv bằng Super_priv
 ### Bước 3 : 
 ```
      REVOKE SUPER ON *.* FROM < DANH SÁCH USER LẤY ĐƯỢC TỪ BƯỚC 2>
 ```
 
## **5.5**
 tương tự 5.2 thay File_priv bằng Shutdown_priv
### Bước 3 : 
 ```
      REVOKE SHUTDOWN  ON *.* FROM < DANH SÁCH USER LẤY ĐƯỢC TỪ BƯỚC 2>
 ```
 
## **5.6**
 tương tự 5.2 thay File_priv bằng Create_user_priv
### Bước 3 : 
 ```
      REVOKE CREATE USER  ON *.* FROM < DANH SÁCH USER LẤY ĐƯỢC TỪ BƯỚC 2>
 ```
 
## **5.7**
### Bước 1:
* Xem trước các user có quyền GRANT OPTION
```
       SELECT User , HOST , Grant_priv   FROM
         mysql.db 
        where
         Grant_priv = 'Y' 
         and 
         User NOT IN('root')
         
        ORDER BY
         Host,
         User
```
* **note** ```*<DANH SACH USER KHÔNG ĐƯỢC XÓA QUYỀN> ví dụ 'root'```
### Bước 2: 
* Lấy ra các user có quyền GRANT OPTION 
* **Câu lệnh**     
    ```
         select GROUP_CONCAT(t.user_infor) FROM ( SELECT CONCAT("'",User, "'@'",HOST,"'") as user_infor FROM
         mysql.db 
        where
         Grant_priv = 'Y' 
         and 
         User NOT IN(<DANH SACH USER KHÔNG ĐƯỢC XÓA QUYỀN>)
         
        ORDER BY
         Host,
         User
         ) as t
    ```
* **note** ```*<DANH SACH USER KHÔNG ĐƯỢC XÓA QUYỀN> ví dụ 'root'```
* **Kết quả** 
  ```
      'toanpk'@'%','debian-sys-maint'@'localhost','rsafi'@'localhost'
  ```
### Bước 3: 
* sau khi lấy được danh sách user cần phải update thực hiện chạy lệnh xóa quyền
   ```
        REVOKE REPLICATION SLAVE ON *.* FROM < DANH SÁCH USER LẤY ĐƯỢC TỪ BƯỚC 2>
   ```
## **5.8**
 tương tự 5.2 thay File_priv bằng Create_user_priv
### Bước 3 : 
 ```
       REVOKE REPLICATION SLAVE ON *.* FROM < DANH SÁCH USER LẤY ĐƯỢC TỪ BƯỚC 2>
 ```
## **5.9**
Giống 5.1

## 1 list querry check
* sudo service mysql status
* mysql --user=<user> mysql -p<pass>
* Tạo user : CREATE USER 'test3'@'%' IDENTIFIED BY '<password>';
* show list user : select User,  Select_priv, Create_priv, Insert_priv, Update_priv, Delete_priv, Drop_priv,  File_priv, Super_priv from mysql.user;
* add quyền cho user : GRANT CREATE, SELECT ON *.* TO 'newuser'@'%';
* Xóa quyền cho user : REVOKE SELECT ON *.* FROM 'test'@'%';