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

[极客大挑战 2019]EasySQL

时间:2024-11-01 19:57:32浏览次数: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/18521173

相关文章

  • [GXYCTF2019]Ping Ping Ping
    题目链接:https://buuoj.cn/challenges#[GXYCTF2019]PingPingPing打开环境后如下所示。题目直接提示了有一个GET参数,参数名是"ip",尝试输入:?ip=127.0.0.1后,结果如下所示。可以看到,网站后端进行了一个ping操作,猜测参数:ip可能存在命令注入漏洞。尝试输入:ip=;id,发现可以......
  • [SUCTF 2019]EasySQL
    题目链接:https://buuoj.cn/challenges#[SUCTF2019]EasySQL打开环境后,如下所示。尝试输入字符:1。尝试输入字符:0后,发现没有输出结果。尝试输入字符串"aaa"、"bbb"等后,发现都跟输入0的结果一致,而输入123、456等非0的内容,都与输入1一致,这里可以猜测(实际上需要比较......
  • [强网杯 2019]随便注
    题目链接:https://buuoj.cn/challenges#[强网杯2019]随便注打开环境后,如下所示。通过输入',确认该处是由单引号闭合。通过输入Payload:'unionselect1;#,可以发现后端对一些关键词进行了过滤。尝试堆叠注入,可以查询到数据库名以及当前使用的数据库中存在的表名。Payload:'%......
  • [极客大挑战 2019]Havefun
    链接:https://buuoj.cn/challenges#[极客大挑战2019]Havefun打开环境后如下所示。在BurpSuite中(或直接CTRL+U)查看源代码后,可以发现存在如下代码。$cat=$_GET['cat'];echo$cat;if($cat=='dog'){echo'Syc{cat_cat_cat_cat}';}尝试输入Payload:?cat=dog后即可......
  • [极客大挑战 2019]EasySQL
    题目链接:https://buuoj.cn/challenges#[极客大挑战2019]EasySQL。打开后,页面如下所示:可以看到,只有一个登录框,没有其他的内容,一般这种情况,应当先考虑SQL注入。在密码框中直接插入万能密码:'or1=1;#。成功获取flag。知其然,知其所以然。一些常见的登陆功能的后端实现......
  • [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......