登录网站127.0.0.1/sqllabs/
点击一
打开靶场发现因为列不一致,所以引发了报错
改成三列后发现没有报错
由此我们可以知道order by是用来检测列的
那为什么要检测列呢?因为我们要联合查询,如果列不一致的话,那就直接报错了(联合查询就是注入)
查一下user是可以查到的
我们发现 不管咋样都能匹配到,所以搜索user可以搜到
我们已经知道了username和password
还是注入不了,这时候我们就要准备绕过啦
虽然想到了1e1科学计数法,mysql识别并且单独列出来一列,而且“1e1”可以和from连接在一起使用,但是系统会认为这是两个命令,所以这样既没有报错,同时也绕过了正则。但是问题并没有完全解决
我们就可以用一种语法将第三列变成第四列
这时候我们就发现成功绕过了