| 제목 | 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. AM 07:20 (1 월 ago) |
|---|
| 모더레이션 | 2026. 09. 15. AM 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 |
|---|