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

WEB漏洞-SQL注入之MYSQL注入

跨库注入的原理:针对同一IP下的不同域名

同一服务器下

网站A对应数据库A

网站B对应数据库B

网站C对应数据库C

如果某网站的存在注入点,注入点的权限恰好是root权限,也就是最高权限,那么可以通过跨库注入获取其他网站的数据库信息

跨库注入的步骤

1.查询服务器下所有数据库名称

        使用information_schema数据库,这个库中有schemata表记录了当前服务器的所有数据库名称,有tables记录当前数据库的所有表,有columns记录当前表的所有列。我们先找到所有数据库的名称:select * from schemata

比如:select * from users where id=-1 union select 1,group_concat(schema_name),3 from information_schema.schemata

2.找到该网站对应的数据库名称后,获取指定表名

        比如:select * from users where id=-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='指定数据库名'

3.找到指定表名后,获取列名信息

        比如:select * from users where id=-1 union select 1,group_concat(column_name),3 from information_schema.columns where table_name='指定表名' and table_schema='指定数据库名'

这里有两个限制条件是因为不同数据库可能会有相同的表名,所以要对数据库做限制

4.根据表名和字段名,查询指定数据

        比如:select * from users where id=-1 union select 1,name,password from '指定数据库名'.'指定表名'

要注意表名前面要带有数据库名,因为不同数据库可能会有相同的表名

文件读写操作的小知识

load_file()  读取文件内容

into outfile  写入文件

比如select load_file('你的文件路径'),就可以获取到文件的内容

select 'x' into outfile('文件路径'),就可以创建一个文件,同时写入x

读写操作的意义

1.读取网站或系统的敏感信息,系统固定路径或者网站随机目录

2.编写后门文件shell

文件读写前提条件

1.用户权限足够高,尽量具有root权限。

2.secure_file_priv 选项不对文件读写权限限制

(打开mysql文件夹下的my.ini,在[mysqld]的下一行单独加一行secure_file_priv='')

3.知道绝对物理路径

4.能够使用联合查询(sql注入时)

路径获取常见方法

        报错显示:网站报错的时候,会泄露地址信息

        遗留文件:比如phpinfo(),开发者为调试的时候遗留的文件等,phpinfo里面的script_filename就会有文件路径

        CMS:比如wordpress,zblog的绝对路径

        漏洞报错,平台配置文件,爆破等

自己实战需注意

1.给文件读写权限

2.my.ini添加secure_file_priv =

3.双斜杠防止转义(可以把路径进行16进制HEX编码,就不需要考虑斜杠)

4.--+或者%23注释limit

相关防注入

魔术引号(自带防御):php内置安全机制,在php.ini中可以找到magic_quotes_gpc这个选项,on就是启动,false就是关闭。作用是在输入数据中含单引号('),双引号("),反斜线(\)与NULL字符的前面加上反斜线,防止sql注入

代码判断(内置函数):is_array,is_int,判断输入的数据,如果不是就直接拦截。点对点拦截,比较少,但是一旦有,将很难注入成功

自定义关键字(select):$id = str_replace('select','fuck',$id),将id中的select换成fuck

WAF防护软件:安全狗,宝塔。大部分原理都是过滤关键字

如果面对低版本mysql,5.0以下的,可以用sqlmap字典爆破 

相关文章:

WEB漏洞-SQL注入之MYSQL注入

跨库注入的原理:针对同一IP下的不同域名 同一服务器下 网站A对应数据库A 网站B对应数据库B 网站C对应数据库C 如果某网站的存在注入点,注入点的权限恰好是root权限,也就是最高权限,那么可以通过跨库注入获取其他网站的数据库…...

mysql 查询 from a, b 和 a left join b 有什么区别

在MySQL中,from a, b 和 a left join b 有显著的区别,主要体现在查询结果和使用场景上。 基本语法与返回结果: from a, b:这种写法实际上是将两个表作为一个整体来处理,即假设这两个表是同一个表。因此,它…...

禁用ssh 22端口

在Linux系统中,要关闭SSH端口,可以通过修改SSH配置文件或防火墙规则来实现。 方法一:修改SSH配置文件 1. 使用root用户登录Linux系统。 2. 打开SSH配置文件,可以使用任何文本编辑器,如vi或nano。在大多数Linux发行版上…...

C++基础编程的学习3

nullptr关键字 在C11之前,空指针通常用NULL或0表示。然而,这些表示方法存在类型安全问题。C11引入了nullptr关键字,它提供了一个明确的、类型安全的空指针值。 Lambda表达式 Lambda表达式是C11引入的一种便捷的匿名函数定义方式。当Lambda…...

Java中的Optional类:解锁优雅编程的秘密

引言 在Java开发的世界里,空指针异常(NullPointerException)一直是让无数程序员头疼的问题之一。它不仅打断了程序的正常执行流程,还可能隐藏在复杂的业务逻辑之中,难以定位。自Java 8起,一个新的类——Op…...

聆思CSK6大模型开发板语音控制风扇(上)

前言 本文介绍如何实现大模型语音交互对风扇实现开关控制,示例使用的硬件是聆思CSK6大模型开发板,大模型接的是星火大模型。本文将先详细介绍大模型云端从获取交互语音到下发控制指令的全过程,包括整合上下文、配置提示词、语义意图分类、提取…...

代码随想录算法训练营第四十一天 | 121. 买卖股票的最佳时机、122. 买卖股票的最佳时机II、123. 买卖股票的最佳时机III

一、121. 买卖股票的最佳时机 题目链接:121. 买卖股票的最佳时机 - 力扣(LeetCode) 文章讲解:代码随想录 (programmercarl.com)——121. 买卖股票的最佳时机 视频讲解:动态规划之 LeetCode:121.买卖股票的最…...

延时队列与redis and rabbitmq

延时队列是什么 延时队列(Delay Queue)是一种特殊的消息队列,它允许你在添加消息时设置一个延时时间,消息只有在延时时间到达后才能被消费。这种机制在分布式系统中非常有用,常用于处理需要在指定时间后执行的任务&am…...

数据结构--单链

#include "link.h" plink get_head() { plink pmalloc(sizeof(Link)); if(pNULL) { printf("申情节点失败\n"); return NULL; } p->len0; p->nextNULL; return p; } void head_insert(plink L,int a) {…...

春秋云镜CVE-2023-38836

打开靶场环境 点击发现一个登陆框&#xff0c;弱口令试一下 发现账号密码为admin,password 随便点击点击 Media发现这里可以上传文件上传木马试试 <?php eval($_POST["wjq"]); ?> 发现不能上传php文件 php内容 修改他的格式 抓包绕过一下 302就可以其实已经…...

Linux 进程概念

Linux 进程概念 硬件理解冯 诺依曼体系结构五大组成部件强调存储 引子操作系统&#xff08;Operator System&#xff09;概念作用认识为什么要有操作系统&#xff1f; 结构 示意图理解操作系统system call库函数概念 进程什么是进程概念误区认识 描述进程 - PCBtask_struct - P…...

【秋招突围】2024届校招-米哈游笔试题-第二套

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 编程一对一辅导 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🌰 明晚又有米…...

tklog v0.0.9 :Rust灵活高效日志管理

tklog是rust高性能结构化日志库&#xff0c;支持同步日志&#xff0c;异步日志&#xff0c;支持自定义日志的输出格式&#xff0c;支持按时间&#xff0c;按文件大小分割日志文件&#xff0c;支持日志文件压缩备份&#xff0c;支持官方日志库标准API&#xff0c;支持mod独立参数…...

长安链java-sdk打成jar包部署找不到配置文件,springBoot项目制作Docker镜像

长安链使用sdk_config.yml的形式来引入用户的各种证书文件&#xff0c; 但是打成jar包部署在服务器上会提示找不到文件。 由于国内对镜像的限制&#xff0c;我选用了阿里的龙蜥镜像&#xff0c;里面提供java1.8的环境&#xff0c;因为长安链要1.8的环境 docker pull anolis-…...

AI问答:理解软件开发中的几个概念 / 软件逆向、加密、加固、脱壳、反编译

一、软件逆向 定义软件逆向工程是指从程序系统出发&#xff0c;通过运用解密、反汇编、系统分析、程序理解等多种计算机网络安全技术&#xff0c;对软件的结构、流程、算法、代码等进行逆向的拆解分析&#xff0c;从而推出软件产品的源代码、设计原理、结构、算法、处理过程、…...

第十一届MathorCup高校数学建模挑战赛-C题:基于有限差分法的散热机理建模与海底数据中心优化设计

目录 摘 要 1 问题重述 1.1 问题背景 1.2 问题重述 2 问题分析 3 模型假设 4 符号说明 5 我们的工作 6 模型的建立与求解 6.1 建模前的准备 6.2 问题一的建模与求解 6.3 问题二的建模与求解 6.4 问题三的建模与求解 6.5 问题四的建模与解决 7 结果检验及误差分析 8 模型评价 9 …...

【java】常量

文章目录 什么是常量常量分类 什么是常量 程序运行过程当中&#xff0c;其值不可以发生改变的量。 常量分类 常量类型说明举例字符串常年用双引号括起来的内容“Hello World !” “我是一个常量”整数常量不带小数点的数字666 -888小数常量带小数的数字3.14、-3.19字符常量用…...

react如何使用useContext + TS 自定义hooks

为了在 TypeScript 中为 useContext 提供良好的类型提示&#xff0c;我们需要为 Context 定义类型&#xff0c;并确保在创建和使用 Context 时应用这些类型。这可以帮助我们获得更好的类型检查和智能提示。 示例&#xff1a;在用户认证示例中添加 TypeScript 类型 定义类型 …...

【网络安全学习】SQL注入03:如何防止SQL注入

防止SQL注入&#xff0c;就必须清楚&#xff1a;数据库只负责执行SQL语句&#xff0c;根据SQL语句来返回相关数据。数据库并没有什么好的办法直接过滤SQL注入&#xff0c;哪怕是存储过程也不例外。 那么防止SQL注入就得从代码层面进行入手。 1. 严格的数据类型 Java、C#等强…...

linux利用crontab捕获iotop

1.iotop介绍 iotop-简单的类似TOP 命令的I/O监视器 使用&#xff1a;iotop[选项] 描述&#xff1a;iotop监视Linux内核输出的I/O使用信息&#xff08;需要2.6.20或更高版本&#xff09;&#xff0c;并显示系统上进程或线程的当前I/O使用情况表。至少需要在您的Linux内核构建…...

C语言完美演绎6-21

/* 范例&#xff1a;6-21 */#include<stdio.h> #include<conio.h>int main(){int n;printf("这是nn乘法表&#xff0c;请输入一值>");scanf("%d",&n);int i1;for(;i<n;) /* i从1到n次循环*/{int j1;for(;j<n;) /…...

javaweb图书馆借阅管理系统设计与实现uv6546wm

目录同行可拿货,招校园代理 ,本人源头供货商功能分析用户管理模块图书管理模块借阅管理模块预约与通知模块统计与报表模块系统设置模块技术实现要点扩展功能&#xff08;可选&#xff09;项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同…...

OpenArk:你的Windows系统深度安全分析利器

OpenArk&#xff1a;你的Windows系统深度安全分析利器 【免费下载链接】OpenArk The Next Generation of Anti-Rookit(ARK) tool for Windows. 项目地址: https://gitcode.com/GitHub_Trending/op/OpenArk 你是否曾经面对系统异常却无从下手&#xff1f;是否担心恶意软件…...

从一次jar包热修复踩坑,聊聊Spring Boot的可执行jar原理

从一次jar包热修复踩坑&#xff0c;聊聊Spring Boot的可执行jar原理 那天下午&#xff0c;服务器突然告警&#xff0c;线上服务开始频繁报错。排查后发现是MyBatis的一个XML映射文件存在逻辑缺陷&#xff0c;导致数据库查询结果异常。按照常规流程&#xff0c;本应该修改代码后…...

BiliTools AI视频总结功能:革新B站内容消费体验的智能解决方案

BiliTools AI视频总结功能&#xff1a;革新B站内容消费体验的智能解决方案 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTool…...

手把手教你用PyTorch复现Qwen2.5的GQA:从MHA到GQA的代码演进与性能对比

从零实现Qwen2.5的GQA机制&#xff1a;PyTorch实战与性能深度剖析 当我们在讨论现代大语言模型的高效推理时&#xff0c;注意力机制的优化始终是核心议题。Qwen2.5采用的Grouped Query Attention(GQA)既不是对传统多头注意力(MHA)的简单改良&#xff0c;也不是多查询注意力(MQA…...

保姆级教程:用PyTorch从零搭建联邦学习MNIST实验环境(附完整代码)

联邦学习实战&#xff1a;PyTorch搭建MNIST实验环境全流程解析 1. 联邦学习与MNIST实验概述 联邦学习作为一种分布式机器学习范式&#xff0c;正在重塑传统模型训练的方式。不同于集中式训练&#xff0c;联邦学习允许多个客户端在保持数据本地化的前提下协作训练模型&#xff0…...

AI赋能嵌入式:借助快马平台为单片机生成轻量级语音唤醒代码框架

AI赋能嵌入式&#xff1a;借助快马平台为单片机生成轻量级语音唤醒代码框架 最近在做一个智能家居的小项目&#xff0c;需要给STM32单片机加上语音唤醒功能。作为嵌入式开发者&#xff0c;最头疼的就是把AI模型移植到资源有限的单片机上。好在发现了InsCode(快马)平台&#xf…...

OpenClaw多模态实践:Qwen3-14B分析截图生成操作指南

OpenClaw多模态实践&#xff1a;Qwen3-14B分析截图生成操作指南 1. 为什么需要截图分析自动化 上周团队来了三位新同事&#xff0c;我需要反复演示软件操作流程。每次截屏标注步骤后&#xff0c;还要手动整理成PDF发送。这种重复劳动让我开始思考&#xff1a;能否让AI自动识别…...

豆包导出的Excel公式失效

豆包导出的Excel公式为何失效&#xff1f;结构化分析与实用解决方案 在AI辅助办公场景中&#xff0c;豆包&#xff08;Doubao&#xff09;凭借数据分析模块成为不少职场用户的选择。用户通过自然语言指令生成销售报表、预算模板或统计表格后&#xff0c;期待直接导出可用的.xls…...