题目网址:攻防世界
参考资料:
【CTF合辑】攻防世界WEB-1分难度_哔哩哔哩_bilibili
11-20请到:攻防世界web(入门)11-20 刷题笔记-CSDN博客
攻防世界世界在线网安能力提升平台,但是如果从第一题开始刷,会让50%的人倒在起点。所以我们刷题要讲究路线攻略以及技巧~
先说一下,攻防世界的使用教程:
第一步:
第二步:
第三步:
提交答案,答案格式例如下:
cyberpeace{b09f1b926f25f8ebfc32ffad0177c305}
第一题:view_source
1、打开场景
2、f12查看源码3、提交flag
第二题:robots
1、打开场景
2、url+/robots.txt,找到Disallow: f1ag_1s_h3re.php注:Disallow:明确禁止爬虫访问
3、url+f1ag_1s_h3re.php4、提交flag
第三题:backup
1、打开场景
2、url+/index.php+.bak
3、下载,文本工具打开,找到flag,如图0
4、提交flag

第四题:cookie
1、打开场景
2、f12,打开网络,刷新,找到61.147.171.105-标头-响应标头-(Set-Cookie)
3、url+/cookie.php
4、f12,打开网络,刷新,找到cookie.php-标头-响应标头-flag
第五题:disabled_button
1、打开场景
2、f12,选择按钮进行检查,把disabled去掉;
注:disabled="":这个属性表示按钮被禁用,用户无法点击。浏览器会阻止用户与该按钮进行交互。
3、点击按钮
第六题:get_post
方法1
*需要安装HackBar
1、打开场景
2、f12,找到HackBar
3、输入url(按Load URL)+?+ a=1,按Execute,进行提交
4、找到Post data 勾选,然后输入,b=2,按Execute,进行提交方法2
1、打开场景
2、打开bp,进行拦截,右键发送到Repeater(ctrl+R)
3、打开重放器,GET /?a=1(第一行)
4、右键,修改请求方法,POST /?a=1 HTTP/1.1(第一行),b=2(第十四行)如下图1第三种方法
通过python,如下:
import requests post_url = "http://61.147.171.105:52140/?a=1" post_data = { "b": "2" } try: post_response = requests.post(post_url, data=post_data) post_response.encoding = 'utf-8' if post_response.status_code == 200: print("POST 请求成功,响应内容:") print(post_response.text) else: print(f"POST 请求失败,状态码:{post_response.status_code}") except requests.exceptions.RequestException as e: print(f"POST 请求发生错误:{e}")

第七题:weak_auth
先随便输入账号、密码,看一下报错。可以猜测用户名为admin
方法1(靠运气\^o^/):
1、用户名为admin,猜测密码
2、猜到密码是123456
方法2:
1、打开场景
2、打开Burp Suite,浏览器打开bp,进行拦截
3、输入用户名为admin,密码随便写
4、打开Burp Suite,右键-发送到Intruder(快捷键:Ctrl+I)
5、到Intruder页面-位置,如下图2操作。
6、到Intruder页面-payload,先下载爆破字典(仅供学习),如下图3操作。
7、按降序进行排列,找到不同的长度的那些
8、填写账号,密码
注:
1、爆破字典下载地址:https://gitcode.com/Open-source-documentation-tutorial/d5011/blob/main/%E7%88%86%E7%A0%B4%E5%AD%97%E5%85%B8%EF%BC%88%E7%AE%80%E6%98%93%E5%B8%B8%E7%94%A8%EF%BC%89.txt
2、图4,图5是正确和错误返回的响应,大家观察一下





第八题:simple_php
1、打开场景
2、整体解释在下方代码块,着重看if判断:
(一)条件判断是如果 $a 等于 0 且 $a 为真值,则输出 $flag1
由于 当$a==0,和 $a (口诀:非0非空为真,其余为假)的条件矛盾,真and假,故不会成立
*所以可以使$a=0a,此时,$a==0成立,并且$a不为0,真and真,故可以成立
if($a==0 and $a){
echo $flag1;
}
(二)条件判断:如果 $b 是数字或数字字符串,则终止脚本运行,故$b不能为数字
if(is_numeric($b)){
exit();
}
条件判断:如果 $b 大于 1234,则输出 $flag2
注意:由于前面的 is_numeric($b) 判断,这里的 $b 不可能是数字
*所以,这里可以使$b=1235bb,此时,$b 不仅前面的数字会大于 1234,且$b 不为数字
if($b>1234){
echo $flag2;
}
3、url + /? + a=0a&b=1235bb
<?php
// 显示当前脚本的源代码,通常用于调试或展示代码
show_source(__FILE__);
// 引入名为 config.php 的配置文件,该文件可能包含一些常量或变量定义
include("config.php");
// 从 $_GET 超全局数组中获取名为 'a' 的参数值,并赋值给变量 $a
// @ 用于抑制可能产生的错误(例如当 $_GET['a'] 不存在时)
$a=@$_GET['a'];
// 从 $_GET 超全局数组中获取名为 'b' 的参数值,并赋值给变量 $b
// @ 用于抑制可能产生的错误(例如当 $_GET['b'] 不存在时)
$b=@$_GET['b'];
if($a==0 and $a){
echo $flag1;
}
if(is_numeric($b)){
exit();
}
if($b>1234){
echo $flag2;
}
?>
第九题:Training-WWW-Robots
1、打开场景
2、url+/robots.txt,找到Disallow: /fl0g.php
3、url+/fl0g.php
注:
其余方法:御剑扫描,python
请移步到原视频观看
第十题:baby_web
方法1:
1、打开场景
2、f12,进入网络,url去掉1.php,进行刷新
3、按图7操作,网络-ip-复制flag
(建议)方法2:
1、打开场景
2、打开Burp Suite,浏览器打开bp,进行拦截
3、发送到Repeater(快捷键Ctrl+R)
4、到Repeater页面,然后删去1.php,发送,复制flag,如图8

