首页 > 数据库 >[极客大挑战 2019]EasySQL

[极客大挑战 2019]EasySQL

时间:2024-10-31 22:44:31浏览次数:1  
标签:极客 admin SQL EasySQL 2019 MySQL password

题目链接:https://buuoj.cn/challenges#[极客大挑战 2019]EasySQL。

打开后,页面如下所示:

可以看到,只有一个登录框,没有其他的内容,一般这种情况,应当先考虑 SQL 注入。

在密码框中直接插入万能密码:' or 1=1 ;#

成功获取 flag。

知其然,知其所以然。

一些常见的登陆功能的后端实现代码如下(PHP + MySQL):

<?php
$username = $_GET['username'];
$password = $_GET['password'];

$query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
$result = mysqli_query($conn, $query);

if (mysqli_num_rows($result) > 0) {
    echo "Login successful!";
} else {
    echo "Login failed!";
}
?>

倘若以上述代码实现登陆功能,那么就存在 SQL 注入漏洞。

当用户可控的 $_GET['password'] 被设置为 ' or 1=1 ;#$_GET['username'] 设置为 admin),那么,$result 就被程序拼接为:SELECT * FROM users WHERE username = 'admin' AND password = '' or 1=1 ;#',被用户的恶意输出拼接成的这个 SQL 语句就变成了:SELECT * FROM users WHERE username = 'admin' AND password = '' or 1=1 ;(MySQL 中,# 为注释符)。

MySQL 在处理这个 SQL 语句时,返回的结果集将永不为空,导致代码:if (mysqli_num_rows($result) > 0) 永远成立,因此登陆机制被绕过。

标签:极客,admin,SQL,EasySQL,2019,MySQL,password
From: https://www.cnblogs.com/imtaieee/p/18519060

相关文章

  • [GWCTF 2019]xxor
    [GWCTF2019]xxor首先可以到汇编界面从新定义(U+P)一下main函数,不然看着会有点乱分析追踪input变量可以看到每次循环是获取四字节的输入但后面对于tmp变量的赋值我就有点看不懂了,不要紧,直接动调动态调试连接linux,下断点开调我不知道为什么输入字符会直接跳出循环,所以输入......
  • Windows Server 2019 OVF, updated Oct 2024 (sysin) - VMware 虚拟机模板
    WindowsServer2019OVF,updatedOct2024(sysin)-VMware虚拟机模板2024年10月版本更新,现在自动运行sysprep,支持ESXiHostClient部署请访问原文链接:https://sysin.org/blog/windows-server-2019-ovf/查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgWin......
  • Windows Server 2019 中文版、英文版下载 (updated Oct 2024)
    WindowsServer2019中文版、英文版下载(updatedOct2024)WindowsServer2019Version1809请访问原文链接:https://sysin.org/blog/windows-server-2019/查看最新版。原创作品,转载请保留出处。作者主页:sysin.org本站将不定期发布官方原版风格月度更新ISO。WindowsSe......
  • 2024.10.4 2018-2019 ACM-ICPC Southeastern European Regional Programming Contest
    比赛链接Solved:7/11Penalty:914Rank:1/74Rank(vp):63/1k+Dirt:22%G答案是4*纯色块数+5。考虑怎么维护这个纯色块数。这道题的修改保证了一个块纯色当且仅当其行列都纯色。因此对行列分别维护一棵线段树,维护每一层分别有多少个纯色节点,按层乘起来相加就行。K1操作的增加量......
  • 题解:P7306 [COCI2018-2019#1] Strah
    分享一个\(O(nm\logm)\)的方法。分析考虑每次在\(x\)轴上固定左端点,然后移动\(x\)轴上的右端点,并统计答案。考虑如何统计一个\(1\timesn\)的区域的贡献。显然长度为\(i\)的区间有\(n-i+1\)个,所以贡献即为:\[\begin{aligned}f(n)=&\sum^n_{i=1}i\left(n-i+1\ri......
  • [GXYCTF 2019]Ping Ping Ping 题解(多种解题方式)
    知识点:命令执行linux空格绕过反引号绕过      变量绕过         base64编码绕过打开页面提示"听说php可以执行系统函数?我来康康"然后输入框内提示输入bjut.edu.cn  输入之后回显信息,是ping这个网址的信息 输入127.0.0.1因为提示是命令......
  • C#的vs2019项目打包安装程序exe
    C#的vs2019项目打包安装程序exe1.在扩展插中安装插件在Nget包管理器中搜索如下名字的插件MicrosoftVisualStudioInstallProjects点击安装后重启vs20192.创建SetupProject项目完成安装后点击项目中新建项,创建SetupProject的项目创建完成后点击图中步骤添加文件,将你......
  • [HDCTF2019]Maze
    [HDCTF2019]Maze去壳去upx壳upx-dmaze_behind_junk.exe去花对main_按U取消定义函数,按P重新分析函数分析很简洁的迷宫程序(5,-4)应该就是终点点进汇编界面,可以看到疑似地图的字符串+应该是起点,F是终点编写脚本求地图长宽maze='*******+*****************......
  • [2019红帽杯]easyRE WP
    [2019红帽杯]easyRE查壳无壳,64位elf文件分析首先没找到什么有用的函数,用shift+12搜索字符串定位这个字符串x追踪到函数首先关注这里第一个for循环,按tab到汇编界面查看这是个简单的异或,写一下脚本a=[73,111,100,108,62,81,110,98,40,111,99,121,127,121,46,......
  • 【套题】大沥2019年真题——第5题
    05.魔术数组题目描述一个N行N列的二维数组,如果它满足如下的特性,则成为“魔术数组”:1、从二维数组任意选出N个整数。2、选出的N个整数都是在不同的行且在不同的列。3、在满足上述两个条件下,任意选出来的N个整数的总和都是相等的。例如,这是一个4×4的二维数组:......