| 标题 | wuzhicms <=4.1.0 SQL Injection |
|---|
| 描述 | article::getDataOfJson() reads the request body directly from php://input and json_decodes it. The title field in the JSON body is never passed through the framework's standard filtering functions input()/sql_replace() and is concatenated directly into the SQL string literal `title`='$title'; the master_table field likewise overrides the query's target table without any validation, and is concatenated into the backtick-quoted table-name position. The underlying WUZHI_mysqli::get_one() performs no escaping or parameterization on either the concatenated $where clause or the $table name, and query() executes mysqli_query() raw. Because this request travels via the JSON body input path, it completely bypasses the sql_replace() filter chain that the framework uses to strip quotes/semicolons/comment markers (that chain only applies to values read via input() from $_GET/$_POST). As a result, both the single quote ' and the backtick ` reach the SQL concatenation point unmodified, producing both a classic string injection and a more severe identifier (table-name) injection. |
|---|
| 来源 | ⚠️ https://github.com/wuzhicms/wuzhicms/issues/218 |
|---|
| 用户 | ZAST.AI (UID 87884) |
|---|
| 提交 | 2026-08-17 07時20分 (30 日前) |
|---|
| 管理 | 2026-09-15 10時44分 (29 days later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 404076 [WuzhiCMS 直到 4.1.0 index.php?m=content&f=article&v=getDataOfJson article::getDataOfJson title/master_table SQL注入] |
|---|
| 积分 | 20 |
|---|