攻防世界web(入门)1-10 刷题笔记

题目网址:攻防世界

参考资料:

【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.php

4、提交flag

第三题:backup 

1、打开场景
2、url+/index.php+.bak
3、下载,文本工具打开,找到flag,如图0
4、提交flag

图0

 第四题: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}")
图1

第七题: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是正确和错误返回的响应,大家观察一下

图2

图3

图4
图5,正确响应
图6,错误响应

第八题: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

图7
图8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值