DESTOON某处注入可以直接提升为管理员

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

### 简要描述: DESTOON sql注入漏洞 ### 详细说明: 首先看一个函数 :dhtmlspecialchars ``` function dhtmlspecialchars($string) { if(is_array($string)) { return array_map('dhtmlspecialchars', $string); } else { $string = htmlspecialchars($string, ENT_QUOTES, DT_CHARSET == 'GBK' ? 'GB2312' : 'UTF-8'); $string = str_replace('&', '&', $string); if(defined('DT_ADMIN')) return $string; $_string = str_replace(array('"', '"', '"'), array('', '', ''), $string); if($_string == $string) return $string; return strip_sql($_string); } } ``` 好像也没什么问题,仔细一看这行: $string = htmlspecialchars($string, ENT_QUOTES, DT_CHARSET == 'GBK' ? 'GB2312' : 'UTF-8'); 这行功能是 把双引号和单引号转换为实体化.在继续往下看, $_string = str_replace(array('"', '"', '"'), array('', '', ''), $string); 这一行居然又把实体化的双引号给替换成空了,这样会造成一个后果,会导致转义字符实效。 我们来从头到尾来过一遍。 首先初始化变量,对变量进行转义 if(!$MQG) { if($_POST) $_POST = daddslashes($_POST); if($_GET) $_GET = daddslashes($_GET); if($_COOKIE) $_COOKIE = daddslashes($_COOKIE); } 此时我们提交 ?g=" 那么对应的变量应该是 g=\"...

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