蝉知企业门户系统某文件sqli(可引发多处注入)

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

### 简要描述: rt ### 详细说明: 问题出在system/lib/dao/dao.class.php这个文件中 dao是一个sql语句拼接类,这个类有问题会导致多处注入,问题函数如下 ``` public function in($ids) { if($this->inCondition and !$this->conditionIsTrue) return $this; $this->sql .= helper::dbIN($ids); return $this; } ``` 我们跟进dbIN方法看看 ``` static public function dbIN($ids) { if(is_array($ids)) return "IN ('" . join("','", $ids) . "')"; return "IN ('" . str_replace(',', "','", str_replace(' ', '',$ids)) . "')"; } ``` 这也只是一个拼接操作,跟踪到这里已经完了 但是还未发现过滤? 是不是单引号就可以带进sql语句中了呢 我随便找一个点测试 [<img src="https://images.seebug.org/upload/201503/16215001181deb1033dcaf53515f0ace5b0dde0e.jpg" alt="1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201503/16215001181deb1033dcaf53515f0ace5b0dde0e.jpg) 可以看到 单引号已经被带进来了 下面就是 写exp了 ### 漏洞证明: 虽然这样in函数未过滤,但是有个很棘手的问题 根据代码我们知道in函数会给逗号左右都加一个单引号 经过我的不断折腾 终于还是突破了; exp:...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息