码迷,mamicode.com
首页 > 数据库 > 详细

sqli-labs-master 前期知识点

时间:2020-02-03 17:33:39      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:host   image   查看   进制   查询   十六进制   cal   输入密码   利用   

1)、前期准备、知识点

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

技术图片

一、Mysql 登录 

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

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

技术图片

 

二、注释符

--+  --  # 都是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

技术图片

技术图片

 

七、union 联合查询

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

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

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

技术图片

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

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

 技术图片

 

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

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

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

技术图片

 

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

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

方式如下:

技术图片

 

sqli-labs-master 前期知识点

标签:host   image   查看   进制   查询   十六进制   cal   输入密码   利用   

原文地址:https://www.cnblogs.com/yyd-sun/p/12256407.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!