XCTF web 方向

本文详细介绍了参加XCTF Web方向比赛时遇到的十二道题目,包括view_source、robots、backup等,通过F12查看源代码、分析HTTP请求、理解PHP和JS代码等方式获取flag,涉及到的信息安全知识点包括信息泄露、弱口令、命令执行等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一题:view_source

既然不能右键,那就是用F12啦,查看源代码,果然发现flag

在这里插入图片描述

附上flag
cyberpeace{5ca5a68324b94006c415a638772f195c}

第二题:robots

题目是robots,那么应该就是简单的信息泄露了,一般就是在链接后面加robots.txt,访问发现如下:
在这里插入图片描述
那么很明显,flag在提示的这个地址,访问得到页面如下:
在这里插入图片描述
附上flag:
cyberpeace{88ad5e5c8fbdf1e4bea68ae266c49ee7}

第三题:backup

一看到题目名,应该就是考察备份文件,一般备份文件名默认为*.php.bak,题目问index.php的备份文件,那就是直接访问index.php.bak啦,访问直接得到一个文件,记事本打开即可看到flag

在这里插入图片描述附上flag:
Cyberpeace{855A1C4B3401294CB6604CCC98BDE334}

第四题:cookie

一开始拿到这道题,就想着用burpsuite,但是后面想想不用这么麻烦,直接F12也能看到cookie,

在这里插入图片描述
如图所示,访问题目直接F12,查看网络,就能直接看到请求头和响应头的信息,当然,cookie也在里面,途中提示说看看cookie.php,那就访问该页面,得到如下

在这里插入图片描述提示让我们看响应头,查看响应头可得flag

在这里插入图片描述附上flag:
cyberpeace{549ae15bea3b4ab87eca08ca509050d0}

先写到这里,明天继续更新。

第五题:disabled_button

打开页面直接F12 ,定位到按钮

在这里插入图片描述
发现多了一个disabled标签(disabled属性规定应该禁用input元素,这里就是禁用包含它的input元素,这也就是点击不了flag按钮的原因),直接删除,就得出答案

在这里插入图片描述
附上flag:
cyberpeace{67f8082d892790add6b73152169887dc}

第六题:weak_auth

看到题目,猜测应该是弱口令了,直接在验证框输入admin,123456

没想到flag就出来了。。。。。。

附上flag:
cyberpeace{4096b26316d989559027b8c46f7e352c}

第七题:simple_php

题目是给出了地段PHP代码,读了代码发现是简单的绕过,代码如下:

<?php
show_source(__FILE__);
include("config.php");
$a=@$_GET['a'];
$b=@$_GET['b'];
if($a==0 and $a){
    echo $flag1;
}
if(is_numeric($b)){
    exit();
}
if($b>1234){
    echo $flag2;
}
?>

意思就是有a,b两个参数,a要满足a0并且为真,那就直接写成…/?a0即可,同时b要满足不是数字但是又必须大于1234,这就涉及都一个知识点,php中数字和字符混合的字符串转换为整数后只保留数字部分,那么就可以直接写成…/?b=12345b

在这里插入图片描述
在这里插入图片描述
拼接后就是flag啦,
附上flag:
Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}

第八题:get_post

这一题就是考我们修改GET与POST提交方式的能力了吧,众所周知,GET请求只需要在地址后面加上?a=1即可,但是POST稍微麻烦一些,在浏览器页面没办法直接改,这里我用的是BrupSuite的方法,如下图所示,直接截获请求数据包

在这里插入图片描述
修改上面这三个地方,就能达到flag啦,这里要提一句,截获的GET请求变成POST请求直接改第一个框那里是不行的,必须要加上第二个框那一句话,POST请求的参数一般写在最下面。
附上flag:
cyberpeace{291e8a32c675522c0fafb49710b5806d}

第九题:xff_referer

这一题的题目就很明显啦,就是考这两个知识点:xff(X-Forwarded-For)、referer,打开网页,提示ip地址必须是123.123.123.123,那就直接Burpsuite抓包,然后添加X-Forwarded-For参数,,接着又提示document.getElementById(“demo”).innerHTML=“必须来自https://www.google.com”,那就添加referer参数,如下:
在这里插入图片描述这里科普下这两个参数的意思

XFF(X-Forwarded-For):就是用来告诉服务器当前请求者的最终IP,
referer:就是请求头的一个参数,用来告诉服务器当前访问者是从那个URL地址跳转过来的。

附上flag:
cyberpeace{5ac5f8f20365a0502618f53e8592d9a5}

第十题:webshell

打开页面显示的是一句话木马,那么毋庸置疑,用工具进行连接,我这里用的是中国菜刀,如下图所示
在这里插入图片描述
把链接和密码填进去,保存就能直接连接,如下图所示:

在这里插入图片描述
连上之后就发现了flag.txt啦,双击打开就是答案

有趣的是我在虚拟机里面连接时一直都不成功的,但是在主机上就直接成功了,也不知道为什么

附上flag:
cyberpeace{b361429d48891c8bddd5f9fce7350e03}

第十一题:command_execution

根据题目可知是命令执行,于是执行了一下127.0.0.1
在这里插入图片描述
发现是有东西返回的,那么这里就要插入一个知识,

cmdA && cmdB 就是A执行成功就执行B,

于是乎想执行我们之际的命令,就可以这样:127.0.0.1 && ls

但是为了找出flag 我们直接执行 127.0.0.1 && find / -name ‘flag.txt’
在这里插入图片描述发现果然有这个文件,于是直接cat
在这里插入图片描述
答案就出来啦
附上flag:
cyberpeace{68460963c51fe8189391a8ba3e993aa3}

第十二题:simple_js

这一题题目是考察js,那就直接F12打开源代码,查看js的内容,如下:
在这里插入图片描述
通读代码发现不管输入什么,都是输出同样的结果,因为输入的都被替换了,但是发现还有一串特别长的字符串

看到奇怪的字符串,‘\X’是十六进制的意思,用python直接输出,即可得到他的十进制的内容,
先放进python里面输出一下,如下所示:
在这里插入图片描述
然后利用ASCll对照表进行解密即可,python的chr()函数可以直接输出对应的ASCII对应的值,那么脚本如下:

a = [55,56,54,79,115,69,114,116,107,49,50]
c = ""
for i in a:
    b = chr(i)
    c = c + b
print(c)

得到的结果如下:
在这里插入图片描述
附上flag:
Cyberpeace{786OsErtk12}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值