Ctfshow基础二刷(1)

前言:

前两天的信安给我整emo了,头一回打正经比赛,结果发现基础太差,代码审计烂得一踏糊涂。

寻思寻思,从头整一遍基础。又买了安恒出的新书。争取7号去吉林打省队选拔不给导儿丢脸吧呜呜

文件包含

web78:

这题一眼顶针了

web79

看下代码

if(isset($_GET['file'])){
    $file = $_GET['file'];
    $file = str_replace("php", "???", $file);
    include($file);
}else{
    highlight_file(__FILE__);
}

有个简单替换,把php替换成了???

凭借我的🐖脑子,还是想用filter协议去读,结果被替换读不出来

正常思路:

用data协议读,这样可以使得flag.php被base64编码从而绕过,不过那个base64被叫成是什么过滤器还是什么筛选器,当初看到时候感觉挺形象的。

?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs=

 web80

这题不放代码了,就是在上一题的基础上把data协议ban了

坦白说,我不会,看的答案,日志包含

?file=/var/log/nginx/access.log

本来以为和上一题是一路货色,结果传了之后发现出不来。

看了看别的师傅的WP,在UA加了一句话Mua。

想起来了,当初嫌抓包麻烦,这题直接抄的答案。。。

拿Postman跑一下,赏心悦目:

直接把原UA关掉重写一个

body直接传参,先ls,看到fl0g.php

竞争环境要等晚上11:30之后才开,我是懒狗

PHP特性

web89


if(isset($_GET['num'])){
    $num = $_GET['num'];
    if(preg_match("/[0-9]/", $num)){
        die("no no no!");
    }
    if(intval($num)){
        echo $flag;
    }
}

直接传数组?num[]=

原理数组绕过,具体我不太明白,看了别的师傅的WP

 看懂了,intval() 函数会对num进行转换,如果num是个数组的话,会导致转换失败。

转换失败即转为1.if(1)执行输出flag

 web90

这题禁止传4476,但想出flag还得要4476

直接浮点数走了

 当然截断也行.

 整乐了

web91

show_source(__FILE__);
include('flag.php');
$a=$_GET['cmd'];
if(preg_match('/^php$/im', $a)){
    if(preg_match('/^php$/i', $a)){
        echo 'hacker';
    }
    else{
        echo $flag;
    }
}
else{
    echo 'nonononono';
} 

这题和前面不太一样,两个正则表达式全都要求开头为php

但要保证能过第一个不过第二个

还得读flag.php

那php咋开头捏

截断一下直接传

 web92

这题也是,第一个If不能走,走第二个,差别在于intval函数

直接16进制绕过

 web93

这题加了个判断,不让传字母,也就是把16进制ban了,那就传8进制

 web94

 这题第二个nonono绕过的要求是num第一位不能是0,相当于是把进制转换堵死了。

小数点试试

 web95

这个。。第一个if不让传4476,第二个进制字母+点,第三个堵死进制

没办法了呜呜呜。超超

web96

这题有点迷

官方给的解释是

?u=./flag.php
or
?u=php://filter/convert.base64-encode/resource=flag.php

 还是喜欢伪协议

web97

这题第一眼看见的时候还以为是md5碰撞,跑了一下发现不对,是===

那就只能数组绕过了

下一篇接着写

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/25220.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

curl 命令-接口测试

curl 命令-接口测试 JUST DO IT 温暖春日 在linux/Unix 为代表的os上, 对后端进行测试, 模拟连接请求都会书写脚本 场景: 在Linux 上接口测试工具有ab, restClient, postman等, 最常用的方法是curl进行简单测试 curl是非常方便的Rest 客户端, 可以很方便的完成 Rest API测…

AcWing算法提高课-1.3.11二维费用的背包问题

宣传一下算法提高课整理 <— CSDN个人主页&#xff1a;更好的阅读体验 <— 本题链接&#xff08;AcWing&#xff09; 点这里 题目描述 有 N N N 件物品和一个容量是 V V V 的背包&#xff0c;背包能承受的最大重量是 M M M。 每件物品只能用一次。体积是 v i v_…

vcruntime140.dll丢失怎么办?怎么解决vcruntime140.dll丢失的问题

当您运行一个需要此文件的程序时&#xff0c;如果您的系统中不存在这个文件&#xff0c;会提示出错信息“找不到vcruntime140.dll”或“vcruntime140.dll丢失”。这种情况下&#xff0c;您需要解决这个问题&#xff0c;才能继续运行此应用程序。我们将介绍vcruntime140.dll丢失…

5.27下周黄金行情走势预测及开盘操作策略

近期有哪些消息面影响黄金走势&#xff1f;下周黄金多空该如何研判&#xff1f; ​黄金消息面解析&#xff1a;周五(5月26日)黄金大幅下跌&#xff0c;主要受到美国数据影响&#xff0c;美国公布的4月PCE和耐用品订单数据向好&#xff0c;再次强化市场对美联储的鹰派押注。现货…

(四)ArcGIS空间数据的转换与处理——数据结构转换

ArcGIS空间数据的转换与处理——数据转换 空间数据的来源很多&#xff0c;如地图、工程图、规划图、航空与遥感影像等&#xff0c;因此空间数据也有多种格式。根据应用需要&#xff0c;需对数据进行格式转换&#xff0c;不同数据结构间的转换主要包括矢量数据到栅格数据的转换…

戏曲APP软件开发需具备哪些功能呢?

戏曲是我国的国粹&#xff0c;传统戏曲文化源远流长&#xff0c;博大精深&#xff0c;数千年以来一直都是深受大众喜欢的文化生活的重要环节。随着时代的推进&#xff0c;娱乐形式更加多样化&#xff0c;传统的剧场演出形式的戏曲传播方式已经跟不上时代发展以及人们的需求了。…

Office project 2016安装

哈喽&#xff0c;大家好。今天一起学习的是project 2016的安装&#xff0c;Microsoft Office project项目管理工具软件&#xff0c;凝集了许多成熟的项目管理现代理论和方法&#xff0c;可以帮助项目管理者实现时间、资源、成本计划、控制。有兴趣的小伙伴也可以来一起试试手。…

C++服务器框架开发4——日志系统logger/.cpp与.cc

该专栏记录了在学习一个开发项目的过程中遇到的疑惑和问题。 其教学视频见&#xff1a;[C高级教程]从零开始开发服务器框架(sylar) 上一篇&#xff1a;C服务器框架开发3——协程与线程的简单理解/并发与并行 C服务器框架开发4——日志系统logger 目前进度.cpp与.cc 目前进度 …

仓储服务-采购业务

1.合并采购需求 请求参数 {purchaseId: 1, //整单iditems:[1,2,3,4] //合并项集合 }(1) 合并时如果未选择合并的采购单&#xff0c;则先新建采购单然后合并到新建的采购单 新建的采购单&#xff0c;可以手动给采购单分配人员 &#xff08;2&#xff09;合并时选中了采购单…

Ansible基础五——条件语句、循环语句、handlers、任务失败处理

文章目录 一、 循环语句1.1 单量循环1.2 多量循环1.3 老版本用法1.4 loopregister 二、条件判断2.1 根据变量状态判断2.2 根据变量是否存在判断2.3 根据事实判断2.4 多条件判断2.4.1 and用法2.4.2 or用法 2.5 循环判断2.6 根据上个任务结果判断 三、handlers处理程序四、任务失…

C4d渲染农场的定义、应用领域和未来发展趋势

Cinema 4D&#xff08;C4D&#xff09;是一款常用于3D动画、建模和渲染的软件&#xff0c;由Maxon Computer开发。随着CG行业的不断发展和应用场景的多样化&#xff0c;C4D渲染农场成为了CG制作中不可或缺的一环。本文将深入介绍C4D渲染农场的概念、特点、应用以及未来发展趋势…

MYSQL索引连环18问(上)

MYSQL索引连环18问&#xff08;上&#xff09; 1.索引是什么&#xff1f; 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分)&#xff0c;它们包含着对数据表里所有记录的引用指针。索引是一种数据结构。数据库索引&#xff0c;是数据库管理系统中一个排序的…

使用electron套壳vue实现跨平台桌面应用

electron和vue是什么就不用多说了&#xff0c;前端都知道 先展示一波demo 传送门 前提条件 要有一个vue项目&#xff0c;老项目跳过 vue create hello-world改造vue项目 在根目录新建一个background.js文件&#xff0c;也可以叫其他名字&#xff0c;作为package.json的main…

如何查看mysql里面的锁(详细)

通过查询表统计信息查看 information_schema库下相关事务表和锁相关信息表介绍innodb_trx存储了当前正在执行的事务信息trx_id&#xff1a;事务ID。trx_state&#xff1a;事务状态&#xff0c;有以下几种状态&#xff1a;RUNNING、LOCK WAIT、ROLLING BACK 和 COMMITTING。trx…

shell变量的使用 rhce(25)

目录 1.总结变量的类型及含义&#xff1f; 2.实现课堂案例计算长方形面积&#xff1f;&#xff08;6种方式&#xff09; 3.定义变量urlhttps://blog.csdn.net/weixin_45029822/article/details/103568815&#xff08;通过多种方法实现&#xff09; &#xff08;1&#xff0…

企业级帮助中心编写方案

随着互联网的飞速发展&#xff0c;越来越多的企业开始将客户服务转向线上服务。在这个过程中&#xff0c;企业级帮助中心因其高效的自助服务和低成本的维护方式受到越来越多企业的青睐。下文将从如何编写一个高质量的企业级帮助中心入手&#xff0c;为您介绍具体步骤。 一、明…

Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial

5.1 基本操作 参考视频: 5 - 1 - Basic Operations (14 控制输出格式的长短 min).mkv 5.1.1 简单运算 不等于符号的写法是这个波浪线加上等于符号 ( ~ )&#xff0c;而不是等于感叹号加等号( ! ) 1 1 1   % 判断相等 2 1 ~ 2   % 判断不等 3 1 && 0   …

jsp基于 JavaWeb+springboot 的校园快递驿站管理系统

不同的系统提供的服务也不相同&#xff0c;其对应的功能也不相同&#xff0c;所以&#xff0c;系统开工前&#xff0c;需要明确其用途&#xff0c;确定其功能。由此&#xff0c;才可以进行各个任务的开展。 校园驿站管理系统经过分析&#xff0c;确定了其需要设置管理员的角色&…

聚焦2023北京安博会,超高清安防应用将成潮流

&#xff08;1&#xff09;2023北京安博会 中国安全防范产品行业协会主办并承办的第十六届&#xff08;2023&#xff09;中国国际社会公共安全产品博览会&#xff08;Security China 2023&#xff09;&#xff0c;将于2023年6月7&#xff5e;10日在北京首钢会展中心开幕。安博…

前端vscode插件bito

GPT-4和ChatGPT越来越火&#xff0c;前端人员是否也能在日常工作中尝试体验其带来的乐趣呢&#xff1f; 答案是可以的&#xff01;安排&#xff01;&#xff01; 今天介绍一款vscode的插件 【bito】。 安装 安装后只需要自己注册一下&#xff0c;创建一个workspace就可以使用…