首先判断是否有注入点
发现and 1=1 和 and 1=2结果一样,所以应该是字符型注入,需要对单引号做闭合
做闭合后发现报错,提示Limit 0,1,那就说明存在注入点,但是要注释掉后面的limit 0,1
使用--+注释掉limit 0,1后,使用order by 判断字段数,这里判断3个字段,正常显示,继续判断
4个字段时报错,说明只存在3个字段,那么接下来就看回显
2,3正常回显,则可以在这两个位置收集数据库信息
使用database()获取数据库名,并且使用version()获取版本,可以看到数据库版本在5.0以上,那就可以通过information_schema直接获取数据库security有哪些表名
information_schama.tables就是数据库有哪些表,table_schema就是数据库名。结果看到数据库security里面有这几个表,用users做示例,接下来查询users里面有哪些字段
这里可以看到居然有两个ID,是因为没有对数据库名称做限制,搜索到其他数据库的users表中的字段了,所以要对数据库做限制,加一个 and table_schema='security'就行了
这里看到可以正常显示了,那么接下来就是把用户名密码全部拿出来了
至此,sqli-labs第一关结束,有什么问题请在评论区发出来,谢谢