Web Security Academy 第二关:SQL 注入登录绕过

前言

本篇为 PortSwigger Web Security Academy 通关系列 WP,手把手带你完成 SQL 注入登录绕过 实验。全程图文对照、零基础可复现,适合 Web 安全入门学习。

一、实验信息

实验名称:Lab: SQL injection vulnerability allowing login bypass
实验难度:入门级
实验目标:利用 SQL 注入漏洞,无需密码直接登录管理员账户
测试工具:浏览器、Burp Suite

二、进入实验页面

打开实验链接后,进入商品展示首页。页面包含商品列表、Home、My account 等导航栏,实验状态显示 Not solved。

三、寻找并验证 SQL 注入点

首先访问商品详情页:

/product?productId=3

通过 Burp Suite 抓包查看请求,正常响应只是普通页面,看不出明显疑点。

为了判断是否存在注入,我们在参数后添加单引号测试:

/product?productId=3' 页面返回:invalid product ID

继续尝试 'or 1=1 -- 测试,页面依旧返回 invalid product ID,确认此处不存在注入点。

四、寻找登录入口

返回主页面,点击 My account 进入个人中心,发现是登录界面。

五、尝试弱口令登录(失败)

输入: 用户名:admin 密码:123456

页面提示:Invalid username or password.

六、测试登录框注入点

在用户名后加一个单引号测试:admin' ,密码随意填写。提交后页面直接返回:Internal Server Error

不是常规的用户名密码错误,说明登录框存在 SQL 注入!用 Burp 抓包确认,响应为 500 服务器错误。

七、构造 Payload 实现登录绕过

使用经典 SQL 注入登录绕过 Payload:admin' or 1=1-- ,密码任意填写。

点击登录后,页面直接提示:Congratulations, you solved the lab!实验状态变为 Solved,成功绕过登录!

八、验证管理员权限

登录后跳转到管理员页面:/my-account?id=administrator

页面显示:Your username is: administrator

九、成功请求包分析

Burp 抓到的成功登录请求如下:username=admin'+or+1%3D1+--&password=123456

服务器返回 302 重定向,跳转到管理员后台。

十、Payload 原理解析

admin' or 1=1--

admin':闭合后台 SQL 中的单引号

or 1=1:构造永真条件,登录判断永远成立

--:注释掉后面多余的 SQL 代码,避免语法错误

后台执行逻辑:

sql

SELECT * FROM users WHERE username='admin' or 1=1--' AND password='xxx'

十一、知识点总结

注入点判断:单引号触发 500 错误,说明存在注入

登录绕过核心:构造永真条件 + 注释后续语句

万能 Payload:admin' or 1=1--

防护建议:

使用预编译 SQL(Prepared Statement)

对用户输入严格过滤

数据库权限最小化

避免直接拼接 SQL 语句

结语

本篇实验是 SQL 注入最基础的登录绕过,非常适合新手入门理解注入原理。后续会继续更新 Web Security Academy 全系列通关 WP,欢迎关注~

相关推荐
AI-好学者5 小时前
阶段二-Cypher查询语言详解
数据库·rag·graphrag
龙仔7255 小时前
SQL Server 批量多库只读账号一键脚本(带逐行注释完整脚本 + 分段逐句详细解释)
服务器·数据库·sql·sqlserver·dba
咏方舟【长江支流】6 小时前
【开源】跨语言·跨平台·跨数据库(2) —— 用宝轻量框架设计必读
数据库·架构·开源·ai编程·咏方舟-长江支流·用宝框架
手握风云-6 小时前
Redis:不只是缓存那么简单(十五)
数据库·redis·缓存
weixin_307779137 小时前
Linux下Docker Compose里运行PostgreSQL数据库故障诊断Shell脚本
linux·运维·数据库·docker·postgresql
醉城夜风~7 小时前
MySQL 常用内置函数全解:字符串、数值、日期、流程控制实战教程
数据库·mysql
程序猿秃头之路7 小时前
DDD 系列:实体和值对象详解
数据库·oracle·ddd·领域驱动设计
Database_Cool_7 小时前
阿里云 RDS MySQL vs 腾讯云 CDB 国内云关系型数据库深度对比
数据库·mysql·阿里云
xiaohaiAIgeo7 小时前
【2026年】基于三维建模的实验室智慧管理平台:暖通能源照明的数字孪生方案
大数据·数据库·人工智能·科普知识