目录
[极客大挑战 2019]EasySQL1
[极客大挑战 2019]Havefun1
[极客大挑战 2019]EasySQL1
根据题目以及页面内容,这是一个sql注入的题目。
直接就套用万能密码试试。
admin' or 1 #
轻松拿到flag
换种方式也可以轻松拿到flag
我们再看一下网页源码
这段 HTML 代码整体构建了一个简单的用户登录页面的前端界面,用于收集用户输入的用户名和密码信息,并将这些信息通过 GET
方法发送到名为 check.php
的后端文件进行处理.使用 GET
方法传输密码且页面没有对输入内容做任何限制或验证相关的前端逻辑展示。
[极客大挑战 2019]Havefun1
打开网页,在页面没发现什么,习惯性查看一下网页源码。
在网页源码中发现php代码
这是一段 PHP 代码片段,主要实现了根据通过 GET 方式传递的参数值进行条件判断,并输出相应内容的功能。
具体代码语句分析
- 变量获取:
$cat=$_GET['cat'];
:这行代码的作用是从客户端通过 HTTP GET 请求传递过来的参数中获取名为cat
的参数值,并将其赋值给 PHP 变量$cat
。例如,如果在浏览器中访问一个页面,URL 为http://example.com/page.php?cat=value
,这里就会把value
提取出来赋给$cat
变量(假设这段代码所在的页面是page.php
)。 - 输出变量值:
echo $cat;
:这是将获取到的$cat
变量的值直接输出显示。比如,如果$cat
获取到的值是dog
,那这里就会输出dog
到页面上(在服务器端执行代码后将结果返回给客户端浏览器显示)。 - 条件判断与特定输出:
if($cat=='dog'){... }
:这是一个条件判断语句,它检查$cat
变量的值是否等于dog
。如果相等,就会执行花括号内的代码块。- 在花括号内的代码
echo 'Syc{cat_cat_cat_cat}';
,意味着当$cat
的值为dog
时,除了前面已经输出的$cat
的值之外,还会在页面上继续输出Syc{cat_cat_cat_cat}
这个字符串。
根据php代码提示,在URL后面添加/?cat=dog,得到flag