当前位置: 首页 > news >正文

Sqli-labs

1.搭建【前提是已经下载安装好phpstudy_pro】

1.1源码准备

1.1.1源码下载

这里从github下载

https://codeload.github.com/Audi-1/sqli-labs/zip/masterhttps://codeload.github.com/Audi-1/sqli-labs/zip/master

1.1.2下载的靶场源码放到WWW下

将刚才下载的压缩包解压到小皮的文件夹的WWW下

1.1.3修改配置信息

在刚才解压的文件夹中寻找sql-connections然后用记事本打开其中的db-creds.inc然后修改密码为root

1.1.4打开小皮,启动套件

1.1.5创建网站

小皮中点击网站,选择创建网站,然后开始配置网站,这里的根目录要选择到刚才我们下载的源码的解压后的文件夹,到期日期选择长一点

1.1.6访问网站首页

直接从小皮访问网站打开后得到这个页面

1.1.7数据库初始化

点击刚才的页面的Setup/reset Database for labs如此就是安装好了

1.1.8进入关卡,开始打靶场进行练习

 

2.sql练习

2.1 less-1

进入后可以看到这个页面提示中可以知道需要我们输入id作为带数值的参数,通过修改url来传递参数

参数说明:

?表示传递参数,通常都是在页面后会有 ?id=数值,这样的方式传递参数给服务器,然后给我们返 回参 数对应的页面信息,我们发现我们是在/后面直接使用?传递参数,此时参数会传递给默认页面。

多次改变我们的id的数值后,发现输入的数值不同,返回的内容也不同,那就意味着我们所输入的内容是带入到数据库进行查询然后返回的

然后我们尝试加个单引号来看看错误信息

闭合

一般的代码:

$id=$_GET[‘id’];
$sql=“SELECT * FROM name WHERE id=’$id’ LIMIT 0,1”;

我们可以看到,用户输入的id是被带到sql语句中进行拼接,然后执行的,而且,这个id两边是被’ ‘(两个单引号)给闭合起来的,所以在这个代码里’(单引号)就是闭合符。

MYSQL数据库的包容性比较强,如果你输错了数据的类型,MYSQL数据库会自动将其转换成正确的数据类型,比如输入1)、1"、1-等,只要数字后面的字符不是闭合符的,数据库都会把你输入的错误的数据转换成正确的数据类型。

但是,若输入的数字后面的字符恰好是闭合符,则会形成闭合,若闭合后形成的sql语句是错误的,那么sql语句执行就会错误,从而造成页面显示错误。 比如上方的那个一般代码中变量id是用‘’(单引号)引起来的,这里形成了一个闭合符,当我们传入参数id=1’就会导致第一个单引号与第二个单引号形成闭合,然后就多余了第三个单引号,此时就会报错

如何判断闭合符是什么呢

我们可以在传入参数时,只传入一个\(转义字符)

原理,当闭合字符遇到转义字符时,会被转义,那么没有闭合符的语句就不完整了,就会报错,通过报错信息我们就可以推断出闭合符。

分析报错信息:看\斜杠后面跟着的字符,是什么字符,它的闭合字符就是什么,若是没有,就为数字型。

比如在这一关中这里可以看到有一对单引号,那么闭合符就是单引号,且为字符型的sql注入【sql注入分为数字类型和字符类型】

扩展:LIMIT 用法

LIMIT 是 MySQL 内置函数,其作用是用于限制查询结果的条数。 其语法格式:

LIMIT [位置偏移量, 行数] 

一句话概括: 位置偏移量可以理解为跳过前 N 条记录,或从第 N 条记录开始,往后显示 N 条记 录。

select * 返回所有记录。

limit n 返回n条记录。

limit m,n 从m条记录开始返回n条记录。

补充: 使用order by判断表中字段数

ORDER BY 关键词用于对记录集中的数据进行排序。

用法 1:按某个字段进行排序:

语法:select 字段 1,字段 2 from 表名 order by 字段名;

用法 2:按第几个字段进行排序,如果超过查询的字段数,就报错 语法:select 字段 1,字段 2 from 表名 order by 数字;

例:order by 用于 MySQL 查询排序(升序)

order by 后跟上字段名时,是用于做排序,默认是升序。如果字段名后跟上 desc 则做降序。 如:

MariaDB [security]> select username from users order by id desc;

用法 3:按第几个字段进行排序,如果超过查询的字段数,就报错

语法:select 字段 1,字段 2 from 表名 order by 数字;

这里我们点击f12,打开hackbar开始查找字段数

解释一下这里所传入url的

?id=1正常传入参数

'(单引号)是单引号闭合id参数

order by 4 是判断是否存在4个字段数

--+在sql语言中是注释的作用,也就相当于python语言中的#  [sql的注释符号是--]  [这里的+,加号被url编码后相当于空格,而数据库会要求注释符后面有一个空格才会生效执行]

由于这里报错,提示“找不到第四个字段”,那么4超出了列表数,我们再试试3

可以查到列表,说明这里表格有3列

确定回显位。就是看表格里哪一列是显示在页面中的。这里就是显示第二列(name)和第三列(password)

获取当前数据名和版本号,这个就涉及mysql数据库的一些函数,记得就行。通过结果知道当前数据看是security,版本是5.7.26。

然后进行爆表

/?id=-1'union select 1,2,group_concat(table_name)from information_schema.tables where table_schema='security'--+

information_schema.tables表示该数据库下的tables表,点表示下一级。where后面是条件,group_concat()是将查询到结果连接起来。如果不用group_concat查询到的只有user。该语句的意思是查询information_schema数据库下的tables表里面且table_schema字段内容是security的所有table_name的内容

相关文章:

Sqli-labs

1.搭建【前提是已经下载安装好phpstudy_pro】 1.1源码准备 1.1.1源码下载 这里从github下载 https://codeload.github.com/Audi-1/sqli-labs/zip/masterhttps://codeload.github.com/Audi-1/sqli-labs/zip/master 1.1.2下载的靶场源码放到WWW下 将刚才下载的压缩包解压到…...

unreal engine gameplay abiliity 获取ability的cooldown剩余时间

unreal engine gameplay abiliity 获取ability的cooldown 版本 5.4.4 参考 测试代码 if (HasAuthority() && AbilitySystemComponent){TArray<FGameplayAbilitySpecHandle> OutAbilityHandles;AbilitySystemComponent->GetAllAbilities(OutAbilityHandles…...

【GenBI优化】提升text2sql准确率:建议使用推理大模型,增加重试

引言 Text-to-SQL(文本转 SQL)是自然语言处理(NLP)领域的一项重要任务,旨在将自然语言问题自动转换为可在数据库上执行的 SQL 查询语句。这项技术在智能助手、数据分析工具、商业智能(BI)平台等领域具有广泛的应用前景,能够极大地降低数据查询和分析的门槛,让非技术用…...

【六祎 - Note】SQL备忘录;DDL,DML,DQL,DCL

SQL备忘录 from to : 点击访问源地址...

高频 SQL 50 题(基础版)_1341. 电影评分

高频 SQL 50 题&#xff08;基础版&#xff09;_1341. 电影评分 思路 思路 (select Users.name results from Users left join MovieRating on Users.user_id MovieRating.user_id group by(Users.name) order by count(MovieRating.movie_id) desc,Users.name asc limit 1) u…...

JavaScript 变量命名规范

在编写JavaScript代码时&#xff0c;选择合适的变量名对于代码的清晰度、可读性和可维护性至关重要。一个良好的变量命名规范不仅能帮助团队成员更好地理解代码意图&#xff0c;还能减少错误发生的可能性。本文将介绍一些广泛接受的JavaScript变量命名规则和最佳实践。 命名的…...

解决 uView-UI和uv-ui 中 u-tabs 组件在微信小程序中出现横向滚动条的问题

问题描述 在微信小程序中使用 uView-UI 的 u-tabs 组件时&#xff0c;用户可能会遇到横向滚动条的问题。这不仅影响了页面的美观&#xff0c;还可能导致用户误操作。 问题原因 该问题的根本原因是未在微信小程序环境下屏蔽滚动条。uView-UI 的 u-tabs 组件默认只在 H5 环境下…...

20250304解决在飞凌的OK3588-C的Linux R4下解决使用gstreamer保存的mp4打不开

sync poweroff rootok3588:/# sync rootok3588:/# sync rootok3588:/# cd 107 rootok3588:/107# ls -l total 0 rootok3588:/107# sync rootok3588:/107# poweroff 20250304解决在飞凌的OK3588-C的Linux R4下解决使用gstreamer保存的mp4打不开 2025/3/4 10:58 缘起&#xff1a…...

build gcc

1&#xff0c;下载源码 wget https://gcc.gnu.org/pub/gcc/infrastructure/mpfr-4.1.0.tar.bz2 wget https://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 wget https://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.2.1.tar.gz git clone --mirror https://github…...

【每日论文】How far can we go with ImageNet for Text-to-Image generation?

下载PDF或查看论文&#xff0c;请点击&#xff1a;LlamaFactory - huggingface daily paper - 每日论文解读 | LlamaFactory | LlamaFactory 摘要 近年来&#xff0c;通过在大规模数据集上训练&#xff0c;文本到图像&#xff08;T2I&#xff09;生成模型已经取得了显著成果&a…...

STM32 两个单片机之间的通信

STM32 两个单片机之间的通信 原创 HS 平凡灵感码头 2025年03月04日 11:25 广东 以上我们就是有A B两个板子来进行通信&#xff0c;A板将接收按键的键值&#xff0c;然后发送给B板&#xff0c;B板接收键值&#xff0c;然后判断键值控制LED翻转&#xff0c;然后把键值按字符形式…...

Linux 下使用traceroute来进行网络诊断分析

简介 traceroute 命令是一种网络诊断工具&#xff0c;用于跟踪数据包从系统到目标服务器的路径。它有助于识别网络延迟和路由问题。 安装 Debian/Ubuntu sudo apt install traceroute -yRHEL/CentOS sudo yum install traceroute -yFedora sudo dnf install traceroute -…...

基于vue框架的游戏商城系统cq070(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;用户,分类,商品信息,游戏高手,游戏代练 开题报告内容 基于Vue框架的游戏商城系统开题报告 一、研究背景与意义 随着互联网技术的飞速发展和游戏产业的蓬勃兴起&#xff0c;游戏商城作为游戏产业链中的重要一环&#xff0c;迎来了前所…...

SpringBoot接入DeepSeek(硅基流动版)+ 前端页面调试(WebSocket连接模式)

文章目录 前言正文一、项目环境二、项目代码2.1 pom.xml2.2 DeepSeekController.java2.3 启动类2.4 logback-spring.xml2.5 application.yaml2.6 WebsocketConfig.java2.7 AiChatWebSocketHandler.java2.8 SaveChatSessionParamRequest.java2.9 index.html 三、页面调试3.1 主页…...

idea实现热部署

1.在pom.xml文件添加依赖 java <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency> 更新可见配置成功&#xff1a; 2.在appli…...

记一次误禁用USB导致键盘鼠标失灵的修复过程

背景说明 在电脑上插入了一个USB hub&#xff0c;然后弹窗提示&#xff1a;“集线器端口上出现电涌”&#xff0c;点开让选择“重置”或者“关闭”&#xff0c;不小心点了关闭&#xff0c;结果这个usb口就被关了&#xff0c;再插任何东西都没反应&#xff0c;找了很多办法都恢…...

0x03 http协议和分层架构

HTTP协议 简介 Hyper Text Transfer Protocol&#xff0c;超文本传输协议&#xff0c;规定了浏览器和服务器之间数据传输的规则 http协议基于TCP协议&#xff1a;面向连接&#xff0c;安全基于请求-响应模型&#xff1a;一次请求对应一次响应HTTP协议是无状态的协议&#xff…...

【leetcode hot 100 189】轮转数组

错误解法一&#xff1a;申请一个数组&#xff0c;第i个数放在新数组的ik或ik-nums.length上 class Solution {public void rotate(int[] nums, int k) {int[] resultsnew int[nums.length];for(int i0; i<nums.length; i){if(ik<nums.length){results[ik] nums[i];}els…...

医药行业哪些招聘管理系统有AI功能?

随着医药行业竞争加剧&#xff0c;企业对高端研发、临床、市场人才的需求日益迫切。传统招聘模式因效率低、成本高、匹配度不足等问题&#xff0c;已难以满足行业需求。2025年&#xff0c;以AI为核心的招聘管理系统成为解决痛点的关键工具。 一、医药行业招聘的痛点与AI解决方案…...

.net8 使用 license 证书授权案例解析

创建 webapi 项目 使用 .NET CLI 创建一个 ASP.NET Core Web API 应用&#xff0c;并添加指定的 NuGet 包&#xff0c;可以按照以下步骤操作&#xff1a; 创建 ASP.NET Core Web API 项目&#xff1a; dotnet new webapi -n WebAppLicense cd WebAppLicense添加 Standard.Li…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

无人机侦测与反制技术的进展与应用

国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机&#xff08;无人驾驶飞行器&#xff0c;UAV&#xff09;技术的快速发展&#xff0c;其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统&#xff0c;无人机的“黑飞”&…...