news 2026/7/11 11:12:54

CTF题解:simple_login - 经典SQL注入万能密码绕过实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CTF题解:simple_login - 经典SQL注入万能密码绕过实战

一、题目简介

题目名称:simple_login

题目分值:150分

题目环境:PHP+MySQL网页登录界面

题目描述:普通用户无法登录后台,后台管理员账号存在漏洞,请尝试绕过登录验证,获取页面隐藏Flag。

适配水平:掌握PHP SQL注入原理、万能密码绕过逻辑,区别于入门纯签到题,需要理解语句执行逻辑

二、核心考点

  • MySQL基础语法与查询语句执行逻辑
  • 无过滤字符型SQL注入漏洞
  • 万能密码绕过登录验证原理
  • PHP后端简单漏洞成因(未做输入过滤、参数拼接查询)

三、漏洞原理分析

本题后端采用原生PHP拼接SQL查询语句,未对用户输入的账号、密码参数做任何过滤、转义处理。

后端核心查询逻辑如下:

$user = $_POST['username']; $pwd = $_POST['password']; $sql = "select * from admin where username='$user' and password='$pwd'"; $result = mysql_query($sql); if($result){ // 登录成功,输出Flag }

由于参数直接拼接SQL语句,用户可控输入会改变原有查询逻辑。MySQL中or 1=1为恒真语句,且单引号可以闭合原有SQL语句的字符串,实现逻辑绕过,无需正确账号密码即可登录后台。

四、详细解题步骤

1. 环境探测

打开题目链接,页面呈现简洁的管理员登录界面,包含用户名、密码两个输入框和登录按钮,无多余提示。尝试输入任意普通账号密码,均提示"登录失败",确认无弱口令漏洞,优先考虑SQL注入绕过。

2. 构造注入Payload

根据字符型注入特性,用户名输入框输入万能注入语句,密码框随意输入内容:

  • 用户名:' or 1=1 #
  • 密码:123456(任意字符即可)

3. 语句逻辑解析

输入后拼接的完整SQL语句为:

select * from admin where username='' or 1=1 #' and password='123456'

其中:

  • 单引号'闭合了原用户名字符串
  • or 1=1构造恒真条件
  • #注释掉后续所有SQL语句,彻底绕过密码验证逻辑

4. 获取Flag

点击登录后,页面跳转成功,直接展示题目Flag:

CTF{5ql_1nj3ct_bas1c_2026}

五、题目总结与防御方案

本题是CTF进阶训练中最经典的基础注入题,核心考察对SQL语句执行逻辑的理解,而非复杂工具利用。很多同学入门仅会套用Payload,忽略原理,本题重点强化"字符串闭合+逻辑恒真+注释截断"的注入核心思路。

安全防御方案:

  • 预处理语句:使用PDO预处理或mysqli预处理
  • 输入过滤:对用户输入进行转义过滤
  • 禁用特殊字符:限制输入中的SQL关键字
  • 关闭错误回显:生产环境关闭MySQL错误信息显示
  • 杜绝SQL拼接:避免直接拼接用户输入到SQL语句

六、扩展思考

除了' or 1=1 #这种经典Payload,还可以尝试以下变种:

' or '1'='1 ' or 1=1 -- admin' -- ' or 'a'='a

这些Payload的原理都是通过构造恒真条件,使WHERE子句始终返回true,从而绕过身份验证。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/11 11:11:43

7.9号作业

课堂笔记:使用结构化命令(Shell 编程) if-then 语句 核心:if 后面跟命令,而非布尔表达式。 命令退出状态码为 0(成功)→ 执行 then 部分。 非 0 → 跳过 then,继续后续脚本。 语法&…

作者头像 李华
网站建设 2026/7/11 11:10:56

站群泛程序零根底建立:RAP 方法无需代码

在互联网发展日新月异的今天,站群泛程序建立成为了许多人关注的焦点。而对于零基础的新手来说,RAP 方法无疑是一个福音,因为它让你不用写一行代码就能完成站群泛程序的建立。RAP 方法,即快速应用开发方法,它极大地简化…

作者头像 李华
网站建设 2026/7/11 11:04:16

MateCloud容量规划:微服务资源需求评估的完整指南

MateCloud容量规划:微服务资源需求评估的完整指南 【免费下载链接】matecloud 🔥MateCloud是一款基于Spring Cloud Alibaba的微服务架构。目前已经整合Spring Boot 4.0.7、 SpringCloud 2025、Spring Cloud Alibaba 2025、Spring Security Oauth2、Feign…

作者头像 李华
网站建设 2026/7/11 11:03:04

探索Windows Terminal字体美学:打造高效开发环境的终极指南

探索Windows Terminal字体美学:打造高效开发环境的终极指南 【免费下载链接】terminal The new Windows Terminal and the original Windows console host, all in the same place! 项目地址: https://gitcode.com/GitHub_Trending/term/terminal 在数字时代…

作者头像 李华
网站建设 2026/7/11 11:02:55

GitHubDesktop2Chinese:终极GitHub Desktop中文汉化解决方案

GitHubDesktop2Chinese:终极GitHub Desktop中文汉化解决方案 【免费下载链接】GitHubDesktop2Chinese GithubDesktop语言本地化(汉化)工具 【GitHub桌面客户端中文汉化】 项目地址: https://gitcode.com/gh_mirrors/gi/GitHubDesktop2Chinese 还在为GitHub D…

作者头像 李华