ctfshow

2023-10-31

第三题

1.抓包

2.发送到repeater,获得flag

第四题

robots.txt是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不能被搜索引擎的漫游器获取的,哪些是可以被(漫游器)获取的,当robots访问一个网站时,首先会检查该网站中是否存在这个文件,如果机器人找到这个文件,它就会根据这个文件的内容,来确定它访问权限的范围.就是说robots.txt是搜索引擎中访问网站的时候要查看的第一个文件。当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt

访问robots.txt

访问flagishere.txt,得到flag

第五题

phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。

1.访问index.phps

2.浏览后得到flag

第六题

根据提示,解压源码到当前目录

访问url/www.zip

打开

访问url/文件名即可获得flag

第七题

git导致文件泄露:指将代码部署的时候,没有将.git版本控制的目录进行删除。这时,用户可以使用这个目录下的文件,来恢复源码。从而可以获取如数据库密码,源码漏洞等信息。

通常开发人员在开发时,通常将源码提交到远程的托管网站(如Github)方便管理与交互,等到开发最后阶段,再将源码从远程服务器上下载到 web 目录下, 如果开发人员忘记将其中的 .git文件删除,则可以通过 .git文件恢复网站源码,来获取一些敏感信息;开发人员对站点使用 Git 对版本进行控制,实现自动部署,如果配置不当,直接将 .git文件加载到线上环境,这样便引起了.git文件泄露。.git目录:我们使用git的所有被追踪的操作和被操作的文件都会被记录,编码,并保存在这个目录里

 访问url/.git/,即可获得flag

 第八题

svn导致文件泄露:指将代码部署的时候,没有将.svn版本控制的目录进行删除。这时,用户可以使用这个目录下的文件,来恢复源码。从而可以获取如数据库密码,源码漏洞等信息。

.svn目录(隐藏目录):. 使用svn checkout后,项目目录下会生成隐藏的.svn文件夹

通过访问url/.svn/获得flag

 第九题

当开发人员在线上环境中使用vim编辑器,在使用过程中会留下vim编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。

在使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容

第一次产生的交换文件名为 .index.php.swp

再次意外退出后,将会产生名为 .index.php.swo 的交换文件

第三次产生的交换文件则为 .index.php.swn
 

访问url/index.php.swp

 打开后即可获得flag

第十题

提示查看cookie

抓包后发送到repeater

发现flag,输入后发现不正确

 解码后得到flag花括号中的内容,即得到正确的flag

web11.

ctfshow.com 就隐藏了一条信息

通过dacha.com,输入ctfshow.com,查询txt解析记录

TXT记录一般指为某个主机名或域名设置的说明

A (Address) 记录

是用来指定主机名(或域名)对应的IP地址记录。

别名(CNAME)记录

也被称为规范名字。这种记录允许您将多个名字映射到同一台计算机。

web12.

先访问robots.txt

访问一下管理员地址

 根据提示,密码为网站上的公开信息

输入后即可获得flag

web13.

发现只有document为小写,且有链接

 打开后发现网址,默认账号和密码

打开后台地址,出现问题

 查询后发现your domain的意思是你的域名

技术文档并不是给一个人用,卖出去后面向的域名不同,用your domain代表部署后的地址

把your domain修改为靶场地址

 登录默认用户名和密码即可获得flag

web14

提示:源码泄露重要信息

 首先查看一下源码,访问url/editor

点击插入文件中的文件空间,找到浏览器目录

 发现可疑目录

 访问该目录,发现错误

原因:/editor/attached/file/var/www/html/nothinghere/fl000g.txt前面为编辑器的路径,后面是服务器的绝对路径

使用相对路径

 web15.

题目提示邮箱可能造成信息泄露

 访问admin,用邮箱登录发现密码错误,只能忘记密码

该用户密保比较简单,用QQ查到了所在地

显示密码重置

 

 登录即可获得flag

web16.

探针是用来探测空间、服务器运行状况和PHP信息用的,探针可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息。

雅黑探针使用方法

下载到本地电脑,再用 ftp 软件上传到网站任意目录中。绑定域名后,可以用类似 域名/tz.php 这类网址访问。

访问url/tz.php

 发现phpinfo可以点击

在环境变量中发现flag

web17.

根据提示备份的sql文件泄露信息

*.sql文件是mysql数据库导出的备份文件;

访问url/backup.sql

用记事本打开后获得flag

 web18.

这里主要指的是Javascript简称JS是因特网上最流行的网页脚本语言

什么是JS文件
即将Javascript脚本放入一个文件类并以js扩展名命名一种文本脚本

JS是javascript是缩写,js是网页前台脚本,几乎你所见的网页效果都是JS的功劳,如果没有JS网页将变得呆板。一般情况下,js文件不能直接打开,只有配合网页使用,才可以看到它的效果

JS文件指的是包含JavaScript代码行的文本文档。当用户需要从web服务器中的js文件里找到JavaScript代码来实现web页面上的功能时,web页面就会引用这些JavaScript代码。它具有关闭或者打开Web浏览器窗口或标签,鼠标悬停,表单验证序列等功能。这些JavaScript代码还可用于创建具有交互功能的下拉框等

查看源代码

找到js文件

寻找判断分数的语句

unicode编码转中文

 

 按照提示,访问110.php,得到flag

web19.

1.只要密码是这个哈希值即可获得flag

2.抓包

修改密码为源代码中的密码

在response中得到flag

web20.

mdb文件是早期asp+access构架的数据库文件

mdb文件是微软办公系列Access的文件,mdb作为Access数据库的一种文件储存格式,通常会直接用Access打开,其实用Excel也支持打开mdb文件。由于mdb是数据库文件,一些数据库类的软件也能打开mdb文件。一般都做是程序用的,先在电脑上安装SQLSERVER数据库软件,然后再附加一下就可以打开了。

直接打开url路径添加/db/db.mdb 

下载文件用记事本打开

找到flag

爆破

web21.

先随便输入一个密码,抓包

发现一个认证头

解密后发现中间用冒号隔开

导入字典

配置参数

前缀

 编码

因为有等于号,所以取消,否则编码会失败

 设置flag格式

爆破后

点击可获得flag

web22.

根据提示,爆破子域名ctf.show

逐个点击

发现flag

web23.

分析源代码

要满足第二位与第15位与第18位相同,第二位+第15位+第18位/第二位=第32位

找到1个脚本

<?php 
error_reporting(0); 
 
$a="asdfghjklqwertyuiopzxcvbnm1234567890";
for($i=0;$i<36;$i++){
    for($j=0;$j<36;$j++){
        $token=$a[$i].$a[$j];    
        $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 $a[$i].$a[$j];
                exit(0);
            } 
        } 
    }
} 
?> 

运行后得到3j

传递token=3j后,得到flag

web24.

同一个种子生成的随机数序列是一样的序列

rand()函数是Excel中产生随机数的一个随机函数

mt_srand() 函数播种 Mersenne Twister 随机数生成器。

mt_rand() 使用 Mersenne Twister 算法返回随机整数。

mt_srand(seed):

参数 描述
seed 可选。规定播种值

可以计算一下mt_rand对应的随机数

 将这个结果传给r

获得flag

web25.

如果给r赋值为零,那么rand的值为负第一次的随机数

输入r=0,得到第一个随机数

web26.

首先抓包

进行爆破

点击看到flag

 web27.

需要知道身份证号码

我们以第一个同学为例子

抓包,构造payloads

进行爆破和解码

web28.

抓包,访问默认文件

 进行爆破

构造payloads

 

 过滤掉3xx,4xx,5xx

得到flag

命令执行

web29.

preg_match — 执行匹配正则表达式

可以看到过滤掉了flag

?c=system('ls');先用这个语句看一下目录

 以为过滤掉了flag,所以换成了?

访问1.txt后得到flag

 web30.

 同时过滤掉了system和php

`相当于system

 ?c=`cp fla?.??? 1.txt`;

因为php也被过滤掉了,所以可以用三个问号占位符,表示当前目录下以fla开头.???,保存为1.txt

 访问1.txt

web31.

可以看到过滤的越来越多了

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

1已经不属于c了,被过滤掉的字符可以使用

查看页面源代码后得到flag

 web32.

%0a是换行符

php://filter/convert.base64-encode/resource(文件包含插件)

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

解码后可以看到flag

web33.

 多过滤了一个双引号

还可以用require函数

?c=require%0a$_GET[1]?>&1=php://filter/convert.base64-encode/resource=flag.php

解码后得到flag

 web34.

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

 web35.

还是用上面的方法

解码获得flag

 web36.

这里过滤掉了数字

可以用a代表1

解码后得到flag

web37.

data伪协议,需要 allow_url_include:On allow_url_fopen:On,它可以直接执行语句中的代码

    ?f=data://text/plain,<?php phpinfo(); ?> //直接执行php代码

data协议将后面的字符和字符串当作php代码来执行

?c=data://text/plain,<?php system("mv fla?.php 1.txt");?>

访问1.txt

web38.

过滤了file和php,php用短标签绕过

<?=是php的一种输出格式,可以输出变量和表达式,类似输出函数如echo()、print()、print_r()的功能,<?和<?php的作用是相同的,但是需要让php支持段标签格式才能用<?

*或?代替文件名全拼

?c=data://text/plain,<?=system("cp fl*.* 1.txt");?>

web39.

没有了回显且强制加了后缀.php,不影响代码执行

因为php代码已经闭合,故拼接的“.php”就以文本形式显示

?c=data://text/plain,<?=system("tac fla?.ph?");?>

web40.

scandir() 函数返回指定目录中的文件和目录的数组。
print_r() 函数用于打印变量,以更容易理解的形式展示
localeconv()函数会返回一一个包含本地数字及货币格式信息的数组,该数组的第一个元素就是"."
current() 函数返回数组中的当前元素的值。别名是 pos()
array_reverse() 函数将原数组中的元素顺序翻转,创建新的数组并返回。scandir() 函数返回指定目录中的文件和目录的数组。
print_r() 函数用于打印变量,以更容易理解的形式展示。
localeconv()函数会返回一一个包含本地数字及货币格式信息的数组,该数组的第一个元素就是"."
current() 函数返回数组中的当前元素的值。别名是 pos()
array_reverse() 函数将原数组中的元素顺序翻转,创建新的数组并返回。

localeconv()的第一个元素是"." ,用pos()可以返回数组第一个元素的值。所以结合起来就是 scandir(".") 相当于返回当前目录下文件的数组,最后用print_r输出。

用array_reserve()把数组内元素顺序倒过来,flag就变成数组中的第二项,然后可以用next()取出(默认指针停留在数组第一项 

?c=show_source(next(array_reverse(scandir(pos(localeconv())))));

 web42.

> 代表重定向到哪里

/dev/null 代表空设备文件

& 表示等同于的意思,2>&1,表示2的输出重定向等同于1

1 表示标准输出,系统默认值是1,所以">/dev/null"等同于 “1>/dev/null

1>/dev/null :首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,也就是不显示任何信息。
2>&1 : 接着,标准错误输出重定向到标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。

所以为了不让后面的执行,我们可以截断

?c=tac flag.php;Is

 web43.

过滤掉了分号

将&&进行url编码

&&第一个命令执行成功后再执行第二个命令

?c=tac flag.php %26%26 Is

web44.

过滤掉flag,可以用?占位

?c=tac fla?.php %26%26 Is

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ctfshow 的相关文章

随机推荐

  • 【Golang 接口自动化05】使用yml管理自动化用例

    目录 YAML 基本语法 对象 键值对的集合 key value 数组 一组按顺序排列的值 字面量 单个的 不可再分的值 数字 字符串 布尔值 yml 格式的测试用例 定义yml文件 创建结构体 读取yml文件中的用例数据 调试运行 总结
  • KEIL5识别不到DAP

    win11系统有时会识别不出DAP仿真器 如果用管理员身份打开KEIL和USB输入设备更新驱动程序都不能解决问题的话 不妨试试我这个办法 打开设备管理器 在这里选择卸载设备之后再重新插拔一下 电脑就能正确识别为符合HID标准的数字化机器 K
  • 解决使用ssm时前后端传参乱码的问题

    乱码分为两种 第一种是响应乱码 第二种是请求乱码 而前端传入后台又有两种请求区别 POST和GET 这两种又有两种不同的乱码处理方式 话不多说 直入主题 先讲如何处理前端传给后台的乱码 1 GET请求中文乱码处理 当创建一个tomcat项目
  • ideaic安装教程_IntelliJ IDEA安装图文教程

    IntelliJ IDEA 是 java语言开发的集成环境 在业界被公认为最好的 java开发工具之一 尤其在智能代码助手 代码自动提示 重构 J2EE支持 各类版本工具 git svn等 JUnit CVS整合 代码分析 创新的 GUI设
  • gitee的使用和HTTP协议

    git git 个人使用 1 创建本地仓库 初始化仓库 git init 2 创建远程仓库 gitee 3 记录远程仓库地址 4 将本地的代码文件提交到远程仓库 5 git add git add gitignore node module
  • react如何渲染包含html标签元素的字符串

    如何渲染包含html标签元素的字符串 最近有个搜索替换的需求 用户可以输入关键字信息来匹配出对应的数据 然后对其关键字进行标记显示 如下图所示 实现上面的需求的思路就是前端去判断检索内容 将内容中对应的关键字设置一个背景颜色的样式 代码如下
  • 计算机辅助断层摄影,显微计算机辅助断层摄影技术在牙周病学中的应用.pdf

    显微计算机辅助断层摄影技术在牙周病学中的应用 国际口腔医学杂志 第 34卷 第6期 2007年11月 430 InternationalJournalofStomatologyVol 34No 6Nov 2007 显微计算机辅助断层摄影技术
  • canvas绘制随机大小颜色泡泡,鼠标单击后变大变淡消失

    一 canvas随机渲染泡泡 鼠标单击后变大变淡消失 完整代码如下
  • 虚拟化系列教程-安装QEMU/KVM的三种方式

    RedHat Linux KVM 安装 RedHat 有两款产品提供 KVM 虚拟化 Red Hat Enterprise Linux 适用于小的环境 提供数目较少的KVM虚机 Red Hat Enterprise Virtualizati
  • 异或运算怎么算_位运算

    有道云笔记地址 note youdao com 位运算在生产或算法解题中并不常见 不过如果你用得好 可以达到事半功倍的效果 而且位运算用得好 也可以极大地提升性能 如果在生产或面试中能看到使用位运算来解题 会让人眼前一亮 觉得你还是有点逼格
  • 获得KeyStore的sha1值

    keytool list v keystore E geniatech ham project keystore
  • rabbitmq取消自动重连_rabbitmq客户端自动重连

    编程rookie 如有错误请指出 253065903 qq com RabbitMQ Node js 客户端 AMQP 0 9 1 V0 5 2 自动重连 重启策略 开始找解决方案 通过查看AMQP的源码 发现没有reconnect的选项
  • linux下使用bower时提示bower ESUDO Cannot be run with sudo解决办法

    今天准备在使用bower安装一些东西的时候 废了老半天劲 因为需要node环境以及bower平台 安装不顺利 通过百度 最解决了这些问题 在执行bower命令的时候 总是会报错 原来需要在命令后添加 allow root 选项 bower
  • 星星之火-36:LTE载波载波的间隔是15K, 载波波的带宽是多少? 15K还是30K?

    先给个结论 在LTE中 单个小区最大的频谱带宽为20M 每个子载波的间隔为15K 带宽为30K 一共可以分为1200个子载波 那这个数据是怎么来得呢 15K子载波间隔的由来 如果子载波的带宽30K 那么按照频分复用FDM的规则 频谱利用率最
  • Java 类、对象和方法

    Java 类 对象和方法 类的基础知识 如何创建对象 引用变量和赋值 方法 返回值 实参与形参 构造函数 垃圾回收机制 this关键字 类的基础知识 类是定义对象形式的模板 指定了数据以及操作数据的代码 Java中使用类的规范来构造对象 而
  • Qt - 富文本(富文本编程-语法高亮)

    富文本 QTextEdit支持富文本处理 即文档中可使用多种格式 如文字 图片 表格等 与纯文本PlainText相对而言 windows的记事本就是纯文本编辑器 word就是富文本编辑器 文档的光标主要基于QTextCursor类 文档的
  • 贵州大学计算机系2020年录取分数线,贵州大学2020年高考录取分数线汇总

    作为贵州省最好的大学 贵州大学一直是省内考生报考的热门学校 2020年 学校在贵州省招生类别有国家专项 地方专项 高校专项 本科一批 本科二批 艺术体育类 少数民族预科班等 由于本科二批 艺术体育类和少数民族预科班的录取分数线已经在动态里做
  • HttpServletRequestWrapper处理request数据流多次读取问题

    问题 要实现一个spring拦截器需要读取request数据流 但是request数据流只能读取一次 需要自己实现HttpServletRequestWrapper对数据流包装 实现如下 public class ReadHttpServl
  • ov9650摄像头驱动之——linux内核v4l2架构分析2

    NO 2 Camera解码器 控制器 1 根据camera控制器的描述 图像传输有两个DMA通道 我们用的是C通道 所以先将DMA内存初始化 因为在V4L2操作中有把VIDIOC REQBUFS中分配的数据缓存转换成物理地址的操作 所以DM
  • ctfshow

    第三题 1 抓包 2 发送到repeater 获得flag 第四题 robots txt是一种存放于网站根目录下的ASCII编码的文本文件 它通常告诉网络搜索引擎的漫游器 又称网络蜘蛛 此网站中的哪些内容是不能被搜索引擎的漫游器获取的 哪些