HackINI-2021 my-first-sqli

蒋拾玖 2026-04-22 11:26:11 22 0


本题为SQL注入攻击的典型场景
SQL语句拼接漏洞‌
登录界面的后端代码直接将用户输入的用户名和密码拼接到SQL查询语句中,没有做任何安全校验和参数化处理。

  1. 原本的查询语句应该是:
SELECT * FROM USERS WHERE username = 'admin' AND password = '正确密码'

2.恶意语句的构造逻辑‌:

用户输入的admin' or '1'='1' --会和原语句拼接成:
SELECT * FROM USERS WHERE username = 'admin' AND password = 'admin' or '1'='1' --


admin':闭合原语句中username的单引号,让原本的字符串拼接变成逻辑判断


or '1'='1':添加一个恒成立的逻辑条件,无论密码是否正确,这个条件都会让整个查询语句的结果为真


--:SQL的单行注释符号,会注释掉后面原本的密码校验部分,避免语法错误


最终执行效果‌:经过拼接和注释后,实际执行的SQL语句等价于:
SELECT * FROM USERS WHERE username = 'admin' AND (password = 'admin' or '1'='1')
由于'1'='1'恒成立,所以整个WHERE条件必然成立,后端会查询到admin用户的信息,直接完成登录,无需正确密码。

这种攻击的本质就是利用了后端代码对用户输入的不安全处理,通过构造特殊语句篡改SQL逻辑,绕过身份验证。

分类:WEB
image
作者:蒋拾玖

3

提交

0

收入

相关WriteUP

  • cookiehead

    ***收费WriteUP请购买后查看,VIP用户可免费查看***

    • WEB
    • 1年前
  • sqli-0x1 Writeup

    ***收费WriteUP请购买后查看,VIP用户可免费查看***

    • WEB
    • 2年前
  • [HackINI-2022] lfi WriteUp

    ***收费WriteUP请购买后查看,VIP用户可免费查看***

    • WEB
    • 2年前
  • just-work-type

    ***收费WriteUP请购买后查看,VIP用户可免费查看***

    • WEB
    • 2年前
  • SQL注入.2

    ***收费WriteUP请购买后查看,VIP用户可免费查看***

    • WEB
    • 1年前
问题反馈