sqllab 1-6 练习

Posted CYwxh0125

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqllab 1-6 练习相关的知识,希望对你有一定的参考价值。

前言

什么是sql注入?

攻击者通过构造不同的sql语句来实现对数据库的操作

两个关键 :参数用户可控 参数带入数据库查询

基本流程

判断注入点

判断字段数

判断回显点

查询相关内容  判断库名----> 判断表明---->判断列名----->判断数据

搭建

复制文件到 D:\\phpstudy_pro\\WWW

创建网站 设置根目录为该文件    注意 php版本需要为 5.4.45

至此 搭建完成

less-1  GET - Error based - Single quotes - String

1.判断注入点

显示正常 说明1=2没有被执行

尝试加引号进行闭合

成功     查看源码  果然是被加了引号

所以引号处存在sql注入

2.判断字段数

使用 order by 1 2 3.....尝试

4的时候不存在   所以 字段数为3

 3.判断回显点

使用联合查询   因为字段数为3   所以 union select 1,2,3

为什么没有显示出回显点呢???

因为此时 显示id=1时的界面    可以将id改为不存在的数或一个大点的数字

可以看到  回显点2 3

4.查询相关内容

查询数据库    使用database()

查询表名    1.使用limit逐个查询  

2.使用group_concat  但如果表名过多可能会显示不完整

查列名

在各个表中查询列名

在名为 users的表中 查到了  password 列

查数据

用group_concat()分别查询id对应的username和password

 

2.less-2 GET - Error based - Intiger based  

1.判断注入点

可以看到 1=2 直接被执行了

2.判断字段数

3.判断回显点

4.查询数据

库名

表名

列名

数据

less-3 GET - Error based - Single quotes with twist string

1.判断注入点

排列组合尝试 并查看源码

2.判断字段数

3.判断回显点

4.判断数据

库名.表名.列名同前二题

查询数据

less-4 GET - Error based - Single quotes with twist string

1.判断注入点

结合源码分析

2.判断字段数

3.判断回显点

4.查询

less-5

1.判断注入点

加引号闭合

2.判断字段数

字段数为3

3.判断回显点

发现没有回显点  需要使用盲注

盲注是注入的一种,指的是在不知道数据库返回值的情况下对数据中的内容进行猜测,实施SQL注入。盲注一般分为布尔盲注和基于时间的盲注和报错的盲注。

布尔型:页面只返回True和False两种类型页面。利用页面返回不同,逐个猜解数据

时间型:通过页面沉睡时间判断

通过 sleep()函数测试,通过if()和sleep()联合逐个猜解数据

如果当前查询的当前数据库ascii(substr(database()),1,1)的第一个字符的ASCII码大于100,ture 沉睡10秒,FALSE 沉睡4秒
原文链接:https://blog.csdn.net/weixin_40709439/article/details/81355856

报错型:  没有正常的输出位,需要的数据通过报错进行输出显示

4.查询数据

库名 ?id=1%27%20and%20updatexml(1,concat(0x7e,(select%20database()),0x7e),%20%20--%20app

表名

http://localhost:8001/Less-5/?id=1%20%27and%20updatexml(1,concat(0x7e,(select%20group_concat(table_name)%20from%20information_
schema.tables%20where%20table_schema=%27security%27),0x7e),1)%20--+

列名

数据

使用group——concat 发现回显不够   用limit

 

less-6  GET - Double Injection - Double Quotes - String

1.判断注入点 比上一道题加个"

2.判断字段数 同上

3.用盲注查询

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于sqllab 1-6 练习的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript练习笔记整理·1 - 6.23

练习1-6

5.1.6 练习题

算法练习-数组去重合并

python(基础练习二)

第二单元练习题