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

小迪安全第四十二天笔记 简单的mysql注入 mysql的基础知识 用户管理数据库模式 mysql 写入与读取 跨库查询

前言

之前的安全开发我们学习了  php联动数据库的模式  ,这个模式是现在常用的模式  这一节来学习 如何 进行数据库的注入和数据库相关知识

1、了解数据库的结构

我们使用  navicate连接数据库之后看一下

一共四层结构  库  =》表=》字段=》数据      这个层级关系我们可以用 .  来细分 什么意思呢  就是我们要看上方这个数据库的  new这个表吧   我们就可以写     demo01.new   这个就是库表的层级表示   后边会用到

大家想一想就是为什么我们写一些查询语句这个msql可以快速给我们想要的数据啊

大家看见没有个  你妹的information_schema   他就像个向导  可以给系统指引

我们看看他的结构吧   看看这个自带的库有什么牛x的地方

再看看  tables 这个表   

tables里装是我们所以的表名和数据库名

还有个重要的表就是  columns

知道了这些之后我们就可以进行简单的报表注入了

学习一个  union  select  演示一下这个有什么用

比如这个  就是我们的联合查询    为什么使用这个呢  就是我们在开发里学过  php让数据库的查询

演示一下  我以pikachu进行联系pikachu靶场搭建教程(官方版)-CSDN博客

就是我们配置pikachu的时候 会有个 让我们配置数据库用户的内容

这个用户有什么讲究呢

了解数据库用户管理机制

其实这个就是   如果我们输入的是 root用户 那就会导致多个库的泄露  看一下

看这个库里边  除了pikachu 还有很多其他的网站库  但是root统一管理

还有个模式就是  权限最小化的管理  就是一个网站一个数据库  一个管理用户

用数据库连接工具连接一下    

那我们把一个网站放到这里  不就实现了 权限最小化管理   (这个后边的跨库查询会使用到)

union 查询注入

打开皮卡出  选到sql注入

我们的第一步就是  判断前方的  select 有几个字段  从而使我们后边的union可以进行对齐

试一下  使用  order by  进行判断字段  试一下

关于绕过大家  可以输入纯 payload 在url里 会发现什么也不会报错 

回显我们的输入不存在  那我们直接 写2试一下

那我们不知道库名啊       获取相关数据:

1、数据库版本-看是否符合information_schema查询-version()

2、数据库用户-看是否符合ROOT型注入攻击-user()

3、当前操作系统-看是否支持大小写或文件路径选择-@@version_compile_os

4、数据库名字-为后期猜解指定数据库下的表,列做准备-database()

那你看好  我们使用 这个的信息收集  

为了后续的实验我们还得获取一下  是不是root用户和什么操作系统

这些都知道之后我们之间开始  利用infomation_schema  库进行注入吧

得到表名之后干什么呀   我们上面不是说了个 columns 吗  他是干什么的呢   不是承装列名的吗 

那我们就使用它

得到了列  用户名和密码   那我们直接 select

大家可以和数据库的对一下 

root型注入

1、跨库查询

我们上面写了  这个root管理用户 的好坏   统一管理 那我们可不可以在pikachu这个库找我们上边 zblog的东西呢  demo(演示)一下  我们看一下 zblog的敏感信息

这个就是跨库查询的危害 但前提是你能找到这个网站  (这个多半是他的子域名网站)

是吧  要是拿到了后台账号密码是不是可以搞事了呀

2、文件读写

在此之前学习2个 语句   load_file(文件的读取)  和  down file(文件的写入)

创建一个 1.txt 写上内容

文件的写入  

ok那我们直接使一下 看看能不能使用 写入 + 查看直接 拿下服务器

还是以pikachu为例子   我们进入网站  我们不知道他的网站目录在哪里 你妹的怎么办呀  得先判断是什么系统吧    就是上边的语句  我们知道了是win 之后   路径怎么找呀   这个

获取网站路径绝对路径的方法汇总 - 看不尽的尘埃 - 博客园
当然也可以利用目录扫描工具梭哈一下

这边我就直接演示了

我们看看 你妹的纯纯马子  

这样是不是就可以直接哥斯拉 连接搞事了呀

总结

  介绍简单的sql注入 去获取服务器的权限      


http://www.kler.cn/a/421388.html

相关文章:

  • M31系列LoRa分布式IO模块功能简介
  • 什么是 Kubernetes(K8s)?
  • 08-模块与包
  • QT6学习第八天 QFrame 类
  • 前端开发 之 15个页面加载特效上【附完整源码】
  • Leetcode62. 不同路径(HOT100)
  • 《从0到1常用Map集合核心摘要 + 不深不浅底层核心》
  • 网络安全内容整理二
  • Java基础面试题12:Java中的两种异常类型是什么?它们有什么区别?
  • AttributeError: ‘DataFrame‘ object has no attribute ‘append‘的参考解决方法
  • Linux67 绑定网卡【bonding和team】
  • 技术速递|Java on Azure Tooling 10月更新 - Azure 函数托管身份支持,Java on Azure 工具指南推出
  • Swift 宏(Macro)入门趣谈(五)
  • 【Anaconda】Anaconda3 下载与安装教程(Ubuntu 22.04)
  • SQL语法——DDL
  • 一键生成后端服务,MemFire Cloud重新定义开发效率
  • 基于Matlab SEIR模型的传染病传播分析与防控策略模拟
  • Leetcode 每日一题 205.同构字符串
  • 114. UE5 GAS RPG 实现配置怪物生成
  • 量化交易系统开发-实时行情自动化交易-8.7.文华平台
  • 【开源】A060-基于Spring Boot的游戏交易系统的设计与实现
  • 从0开始学PHP面向对象内容之常用设计模式(中介,访问)
  • 晶圆制程setup的一些探讨
  • python笔记3
  • 单元测试报websocket bean创建失败
  • (1)spring security - 项目环境搭建及入门