Hack The Box -SQL Injection Fundamentals Module详细讲解中文教程

这篇具有很好参考价值的文章主要介绍了Hack The Box -SQL Injection Fundamentals Module详细讲解中文教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

数据库介绍............................................................................................................... 3

数据库管理系统(DBMS)介绍........................................................................... 3

数据库的类型..................................................................................................... 4

1.1关系型数据库(RDBMS)....................................................................... 4

1.2非关系型数据库(NOSQL).................................................................... 5

MySQL数据库介绍.............................................................................................. 6

1.1SQL语句功能.......................................................................................... 6

1.2命令行工具介绍..................................................................................... 6

1.2.1mycli安装...................................................................................... 6

1.2.2mycli基本用法............................................................................... 7

1.3表的一些字段属性介绍.................................................................... 8

SQL语句基本用法............................................................................................... 9

1.1INSERT语句用法..................................................................................... 9

1.2SELECT语句用法.................................................................................... 10

1.3DROP语句用法...................................................................................... 10

1.4ALTER语句用法..................................................................................... 10

1.5UPDATE语句用法.................................................................................. 11

SQL语句的请求结果.......................................................................................... 11

1.1排序(SORT)结果............................................................................... 11

1.2指定输出记录数................................................................................... 12

1.3WHERE关键字用法................................................................................ 13

1.4LIKE关键字用法.................................................................................... 13

SQL语句运算符................................................................................................. 14

1.1AND(&&)运算符................................................................................ 14

1.2OR(||)运算符.................................................................................... 14

1.3NOT(!)运算符.................................................................................... 15

1.4逻辑运算符在SQL语句中的应用........................................................... 15

1.5运算符优先级....................................................................................... 16

SQL注入........................................................................................................... 17

1.1SQL语句在Web应用中的使用............................................................... 17

1.2SQL注入漏洞的产生.............................................................................. 17

1.3SQL注入的类型..................................................................................... 18

1.4修改SQL语句请求逻辑......................................................................... 19

1.4.1SQL注入点测试........................................................................... 20

1.4.2OR注入....................................................................................... 20

1.5注释符................................................................................................. 22

1.6利用注释符绕过用户登录验证.............................................................. 23

1.7Union关键字讲解.................................................................................. 24

1.8Union 关键字注入................................................................................. 26

Payload构造与利用........................................................................................... 29

1.1枚举数据库.......................................................................................... 29

1.1.1INFORMATION_SCHEMA 数据库讲解............................................ 29

1.1.2 SCHEMATA表讲解....................................................................... 30

1.2读文件................................................................................................. 32

1.2.1权限等级.................................................................................... 33

1.2.2LOAD_FILE................................................................................... 34

1.3写文件................................................................................................. 35

1.3.1判断是否拥有写文件权限............................................................ 35

1.3.2写入一个web shell文件.............................................................. 36

实战训练................................................................................................................. 37

数据库介绍

在我们开始学习SQL注入技术之前,我们需要了解我们是怎样来操作数据库的,我们是通过SQL语句来操作数据库,一个web应用是通过后端数据库存储数据,然后web应用根据用户的相关操作来执行相应的SQL语句获取数据库中的数据或者将数据写入数据库中,例如:用户的登录和新用户的注册

数据库的类型有很多,每种数据库它都有自己的一套语法,并且随着数据库的数据增加,读写数据就会变慢,这样Web应用的执行效率就大大降低了,这就导致我们需要采用一个数据库管理系统(DBMS)来对数据库进行管理,来提高Web应用的读写效率

数据库管理系统(DBMS)介绍

数据库管理系统是用来创建和管理数据库的,随着时间的发展,更多的数据库管理系统被设计出来,例如,关系数据库管理系统(RDMBS),非关系数据库管理系统(NoSQL)等

那我们如何操作数据库管理系统,这里我们有多种方法来操作数据库管理系统,例如:

命令行工具,一些图形化的管理工具,应用程序接口(API)等

基本数据库管理系统(DBMS)的功能,如下:

并发性(Concurrency): 在生产环境下,也许同时有多个用户操作这个数据库,DBMS 确保这些并发交互成功而不会损坏或丢失任何数据

一致性(Consistency):大量的并发交互,DBMS 需要确保数据在整个数据库中保持一致和有效

安全性(Security): 通过用户验证的用户只能以他拥有的权限来操作DBMS,这就防止了未验证的非法用户来操纵

可靠性(Reliability): 在数据丢失的情况下,数据库备份很容易恢复到之前状态

SQL语句:用户与数据库进行交互的命令,用户通过SQL语句操作数据库执行相应操作

通常用户在一个网站查看一些内容时,网站是如何从后端数据库中获取数据返回给用户的,基本过程如下图所示:

Hack The Box -SQL Injection Fundamentals Module详细讲解中文教程

数据库的类型

一般的数据库分为关系型数据库(RDBMS)和非关系型数据库(NOSQL),关系型数据库通过SQL语句与用户交互,非关系型数据库通过一些特定的方法与用户交互

1.1关系型数据库(RDBMS)

顾名思义,就是这种数据库里面创建的表之间可以相互关联,我们只需输入一个信息,就能获取和它相关联的所有信息,打个比方来说,我们需要存储一个客户信息的数据,我们可以创建一张表只记录这个客户的基本信息,例如:姓名,年龄,性别,联系方式,然后再创建一张表记录客户的详细购买的产品信息,关系型数据库就能很好的把这两张表关联起来,我们查询的时候只需输入用户名,那么这个用户的所有信息就会被查询出来,表与表之间是通过key(主键)来实现关联,这样所有的记录就能相互联系,便于用户查询

关系数据库的种类比较多,

例如:”MicrosoftAccess”,”MySQL”,”SQL Server”,”Oracle”,”PostgreSQL”等等

关系型数据库是由表组成,我们查询数据,其实就是对表的操作,表是由字段(columns)组成,例如:id,username,first_name,last_name等,通常id字段作为一张表的key(主键),通过它和其他表进行关联,如下图:

Users :

id

username

First_name

Last_name

1

admin

admin

admin

2

test

test

test

Posts:

id

User_id

date

content

1

1

01-01-2022

xxxxxx

2

2

02-01-2022

xxxxxx

我们把users表的id字段与posts表的user_id字段关联起来,例如,当我们查询admin用户时,我们就能获取到他的所有相关信息,users表和posts中的信息

1.2非关系型数据库(NOSQL)

非关系型数据库通过存储模型来存储数据,不同的数据存储数据模型不一样,非关系型数据库相对于关系型数据库数据存储方式更加的灵活,具有可拓展性,所以,当我们不好定义一个数据结构来存储数据的时候,我们就可以用非关系型数据库来存储我们的数据,NOSQL通常有几种存储模型,如下:

Key-Value存储模型

Document-Based存储模型

Wide-Column存储模型

Graph存储模型

这些数据存储模型,区别在与存储数据的方式不一样,例如,Key-Value存储模型,通常将数据存储为JSON或者XML结构,如下:

Posts:

Hack The Box -SQL Injection Fundamentals Module详细讲解中文教程

JSON结构:

{

  "100001": {

    "date": "01-01-2022",

    "content": "xxxxxxx"

  },

  "100002": {

    "date": "02-01-2022",

    "content": "xxxxxxx"

  },

  "100003": {

    "date": "03-01-2022",

    "content": "xxxxxxx"

  }

}

Tips:JSON结构是以{‘key’:’value’}结构这样一对一对的存储数据的,一个key对应一个value,常用的NOSQL是MongoDB

MySQL数据库介绍

本章我们以MySQL文章来源地址https://www.toymoban.com/news/detail-439498.html

到了这里,关于Hack The Box -SQL Injection Fundamentals Module详细讲解中文教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hack The Box - 关卡Dancing

    SMB(全称是Server Message Block)是一个协议名,可用于在计算机间共享文件、打印机、串口等,电脑上的网上邻居就是靠它实现的。 SMB 是一种客户机/服务器、请求/响应协议。通过 SMB 协议,客户端应用程序可以在各种网络环境下读、写服务器上的文件,以及对服务器程序提出服务

    2024年02月06日
    浏览(38)
  • Hack The Box - Three(新手友好)

    环境给了一个IP,nmap信息搜集一波 访问10.129.126.35:80,收集有用信息(渗透测试==信息收集) thetoppers.htb应该是域名,把域名和IP加到hosts文件中,tee命令的作用就是读取标准输入内容,将读取到的内容数据写入到标准输出和文件中。 再次访问和之前页面一样,尝试子域名爆破,

    2024年02月07日
    浏览(34)
  • 【Hack The Box】windows练习-- devel

    【Hack The Box】windows练习-- devel 🔥系列专栏:Hack The Box 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 📆首发时间:🌴2022年10月28日🌴 🍭作者水平很有限,如果发现错误,还望告知,感谢! ftp允许匿名登陆 还有一个80页面 匿名登陆 Anonymous 发现有一个图片,get下载到本地之后发现

    2024年02月08日
    浏览(45)
  • 【Hack The Box】windows练习-- legacy

    【Hack The Box】windows练习-- legacy 🔥系列专栏:Hack The Box 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 📆首发时间:🌴2022年9月7日🌴 🍭作者水平很有限,如果发现错误,还望告知,感谢! 信息收集的手法与linux一致 namo即可 发现存在的服务是445,并且nmap跑出来的是winxp 或者200

    2024年02月09日
    浏览(41)
  • Hack The Box-Sherlocks-Tracer

    A junior SOC analyst on duty has reported multiple alerts indicating the presence of PsExec on a workstation. They verified the alerts and escalated the alerts to tier II. As an Incident responder you triaged the endpoint for artefacts of interest. Now please answer the questions regarding this security event so you can report it to your incident manager. 一名

    2024年01月20日
    浏览(30)
  • Hack The Box - TIER 2 - Archetype Oopsie Vaccine Unified

    这个阶段的,终于不是之前的傻乎乎操作了,到这我才知道,那些问答不是先问答再渗透的。原来是渗透一步回答相应问题,这里涉及到了许多工具、脚本、提权、端口等知识点,收获丰富。 TASK 1 Which TCP port is hosting a database server? 哪个 TCP 端口托管数据库服务器? 答案:1

    2024年02月05日
    浏览(45)
  • No module named ‘_distutils_hack‘

    最近使用pip安装第三方库时 频繁出现下列错误: 网上搜了很多,总结解决方案就是:更新setuptools,命令如下:   pip install --upgrade setuptools 但是真的不好用啊.... 更新完之后还是一样的错误 不小心翻到这篇文章,真的是救了我:ModuleNotFoundError: No module named \\\'_distutils_hack\\\' - I

    2024年02月16日
    浏览(29)
  • DVWA-----SQL Injection(SQL手工注入)

    一、SQL注入 1.SQL注入原理  2.SQL注入分类 3.SQL注入思路 4.SQL注入绕过方法 二、SQL注入漏洞的分析         1. 定义 2. 原因 3.危害 三、Web 程序三层架构 四、SQL Injection 1.LOW 2.Medium  3.High  4.Impossible          通过把恶意的sql命令插入web表单递交给服务器,或者输入域名或

    2024年02月02日
    浏览(42)
  • DVWA-SQL Injection SQL注入

    SQL注入,是指将特殊构造的恶意SQL语句插入Web表单的输入或页面请求的查询字符串中,从而欺骗后端Web服务器以执行该恶意SQL语句。 成功的 SQL 注入漏洞可以从数据库中读取敏感数据、修改数据库数据(插入/更新/删除)、对数据库执行管理操作 (例如关闭 DBMS),恢复 DBM

    2024年02月08日
    浏览(38)
  • DVWA------SQL Injection (Blind)(SQL盲注)

    一、SQL 盲注 1.简介 2.分类 3.盲注测试思路 二、SQL Injection (Blind) 1.LOW 1.1代码审计 1.2漏洞利用 2.medium 3.high 4.Impossible         SQL Injection(Blind),即SQL盲注,与一般注入的区别在于,一般的注入攻击者可以直接从页面上看到注入语句的执行结果,而盲注时攻击者通常是无法

    2024年02月16日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包