目标页面和输入框:
攻击者访问目标登录页面,例如 https://www.████████/852585B6003EBA25/Login.html?open
。
页面包含了用户名和密码的输入框。
输入恶意字符:
攻击者在用户名字段中输入一个单引号 '。这是一个 SQL 注入攻击的关键步骤。
构造的 SQL 查询:
攻击者输入 '
后,浏览器将用户名字段的值发送给服务器。在后台,服务器会将用户输入的内容拼接到 SQL 查询中。假设输入的 ' 未经过过滤,查询会变成:
SELECT * FROM users WHERE username = '' OR 1=1 -- ' AND password = 'password_input';
解释:
''
:用户名为空字符串。
OR 1=1
:永远为真,直接绕过了用户名和密码的验证条件。
--
:SQL 注释符号,用于忽略后面的密码验证条件。
服务器执行 SQL 查询:
由于查询的条件 OR 1=1 永远为真,数据库会返回一行数据(通常是管理员或其他用户的记录),即使密码不匹配。
绕过身份验证:
服务器响应并返回验证通过的信息,攻击者可以直接进入系统,绕过了原本的登录验证机制。
原文始发于微信公众号(迪哥讲事):通过sql注入来绕过登录验证
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论