☰
SQL 注入练习 01 | PortSwigger Web Security Academy - 登录绕过
2026/10/15 17:55:13 网站建设 项目流程

1.背景

题目:PortSwigger Web Security Academy-SQL injection vulnerability allowing login bypass(允许登录绕过的SQL注入漏洞)

实验链接:https://portswigger.net/web-security/sql-injection/lab-login-bypass。

目标:利用登录框的SQL注入漏洞,无需密码直接以administrator身份登录后台。

2.原理

应用程序在构造SQL语句时,直接将数据拼接进SQL指令中,且没有对用户输入的特殊字符进行过滤或转义。这导致攻击者输入的数据被数据库当成代码执行。

3.攻击步骤

Step 1:利用category参数的SQL注入找到管理员用户名

-拼接URL:?category=Gifts'OR 1=1--

-商品列表多出administrator用户

Step 2:在登录页用永真条件绕过密码验证

-用户名:administrator

-密码:'OR 1=1--

-登录成功

4.修复方案

使用参数化查询:SQL语句的结构预先固定,用户输入通过占位符“填空”进去,而不是直接拼到SQL里面

5.反思

这道题让我意识到,登录的本质不是验证密码,而是信任数据库的判断,当SQL注入存在时,数据库就可以被欺骗,攻击者不需要破译密码就可以轻松登录。

至于这个问题为什么这么长时间还会出现的话,可能大家都比较注重于更有什么的问题,反而忽略了最简单的问题。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询