记一道CTF题babyphp之学习代码注入

[代码审计][PHAR]巅峰极客babyphp2学习压缩过滤器触发phar 前言:我要当赛棍!!! 文章目录序列化与反序列化基本介绍PHP反序列化漏洞原理常用的魔法函数__wakeup()绕过:CVE-2016-7124__set:巅峰极客babyphp2bypass phar:// 不能出现在首部本关键源码Phar利用参考文章 序列化与反序列化 基本介绍 序列化是将变量转换为可保存或传输字符串的过程 反序列化就是在适当的时候把这个字符串再转化成之前的变量来使用 php进行序列化的目的是保存一个对象方便以后重用 php提供了serialize和unserialize函数用以进行 阅读详情

0x00写在前面的话


最近打算刷刷CTF题目,提升一下自身的见识面,这里碰到了一个代码注入的题目特作记录,大牛勿喷。。。


0x01做题的整体思路



做题的地址,http://web.jarvisoj.com:32798/
打开地址,随机点击发现都是展示对应的界面,做过开发的我,直觉告诉我应该是传入一个字符串展示对应页面,这样我随机点了一下,发现about里面有GIT,猜测应该是GIT信息泄露,果断访问一下http://web.jarvisoj.com:32798/.git发现这的是这样的,当然用githacker工具下载源码,下载源码后发现了关键代码如下:

SQL Server数据库备份与恢复 在 SQL Server 中,数据库备份与恢复是保障数据安全的核心操作。 阅读详情

相关推荐

MySQL数据库面试(2022版)

序列号 内容 链接 1 Java基础知识面试(2022版) https://blog.csdn.net/qq_43061290/article/details/124023797 2 Java集合容器面试(2022版) https://blog.csdn.net/qq_43061290/article/details/124043363 3 Java异常面试(2022版) https://blog.csdn.net/qq_43061290/article/details/124....

拉格朗日的学习笔记 1万+

从2022安洵杯[babyPHP]看Soap+CLRF造成SSRF漏洞

Soap+CLRF组合拳造成SSRF漏洞以及例2022安洵杯 BabyPHP、[LCTF 2018]bestphp's revenge。

Aiwin的博客 3027

将点云投影到图像并生成带有颜色的激光雷达点云_python_代码_下载

代码用于将 LiDAR 点云投影到图像并生成带颜色的点云输入图像(.png 文件)点云文件(.bin 文件)Calib 文件 支持两种 calib 文件类型。所有参数存储在一个文件中。例如 KITTIR_rect: 形状 3*3P_rect: 形状 3*4Tr:形状3*4参数存储在两个文件中。一个用于相机,另一个用于 LiDAR2Cam。例如 KITTI rawR_rect: 形状 3*3P_rect: 形状 3*4R:形状3*3T:形状3*1脚步将所有图像放入img,将所有点云文件放入lidar(注意:图像的文件名和对应的点云文件的文件名要相同。)。将calib文件放入calib在main.py中设置参数。CALIB_TYPE:0:一个文件中的所有参数;1:参数存储在两个文件中如果 CALIB_TYPE == 0:CALIB:校准文件的路径如果 CALIB_TYPE == 1:CAM2CAM:相机校准文件的路径LIDAR2CAM:LiDAR2Cam 校准文件的路径IMG_PATH:图片的路径LIDAR_PATH:点云

babyphp(反序列化pop链,字符逃逸)

目在BBUCTF有复现,但代码里dbuser,dbpass,database有修改https://buuoj.cn/challenges#[GYCTF2020]Easyphp 扫描目录发现www.zip源码泄露,下载审计 在Update.php看到 即登录成功就获取flag 看了下login.php,感觉登录框这里是做不了什么文章了 主要的内容都是在lib.php 根据Update.php里...

weixin_43610673的博客 1949

[NPUCTF2020]Baby Obfuscation

buuctf-[NPUCTF2020]Baby Obfuscation

于高山之巅,方见大河奔涌;于群峰之上,更觉长风浩荡。 5333

2022 安询杯 Babyphp

第五届 安询杯 Babyphp

m0_64815693的博客 2648

nkctf——baby_php

简单的录一下

weixin_73668856的博客 683

一次[NSSCTF 2022 Spring Recruit]babyphp

第三个if,这里要求b1!=b2,但是又要求md5值相同,在这里也同样是用到了数组绕过,如果md5() 中传入的不是字符串而是数组,不但md5()函数不会报错,结果还会返回null,在强比较(===)里面null=null为true绕过,b1与b2设置不同的值即可,此处传参 b1[]=1&b2[]=2 即可绕过。$a和$b都传入md5()后,得到值为0e开头的数据,会将其识别为科学计数法,结果都为零。通过观察代码,可发现需要通过四个if判断才能拿到我们的flag。这里我使用的是数组绕过,传参 a[]=1。

dangwobucunzai的博客 800

Jarvis OJ babyphp

babyphp 根据提示可知第一步是git源码泄露 我们用GitHack来获取源码分析 py -2 GitHack.py http://web.jarvisoj.com:32798/.git/ 得到的index.php中含有重要PHP代码 <?php if (isset($_GET['page'])) { $page = $_GET['page']; } else { $page = "home"; } $file = "templates/" . $page . ".php"; assert(

Yang_99的博客 262

NSSCTF录七 | [NSSCTF 2022 Spring Recruit]babyphp、[LitCTF 2023]Vim yyds、[鹤城杯 2021]EasyP

摘要: 本文分析了三个CTF目中的PHP代码审计技巧:1) babyphp考察了数组参数绕过函数检查和0e魔术哈希的弱比较绕过;2) Vimyyds通过vim恢复.swp文件获取源码,利用base64编码绕过密码验证实现命令执行;3) EasyP展示了通过畸形参数名和URL编码绕过正则检测的方法。三个案例分别涉及不同层级的PHP安全特性利用,包括类型转换、哈希比较、文件恢复和参数解析等核心知识点,为CTF中的PHP代码审计提供了典型解思路。

hhhhde_的博客 959

NSSCTF(finalrce -- babyphp)

读完这段PHP代码后发现它把ls,cat给过滤了,我猜大概率与Linux有关,回去看了一下标签栏哈哈哈哈,还真的和Linux 有关,虽然它把ls过滤了,不过我们可以想办法绕过ls因为在代码中参数名是url所以,这里我们需要传入一个txt文件,文件名随意住就行?执行命令后访问你的txt文件如下:访问成功后发现了flllllaaaaaaggggggg目录,

Zhi366293261的博客 1566

[LCTF]bestphp&2022安洵杯 babyphp

CTF一些个session反序列化+SoapClient触发ssrf的例

weixin_63231007的博客 2045

CTF_Web长征路细刷

文件包含一、2018 XCTF FINALS —— babyphp二、 一、2018 XCTF FINALS —— babyphp 0x01信息收集 打开环境可以看到几个关键点,首先便是看到有两个可控变量 1: $_GET[‘function’] 执行函数 2: $_POST[‘name’] 可控制session值内容 其次又看到include($file);存在文件包含,ini_set限定了文件包含目录 最后可见call_user_func($func,$_GET)这个函

Mark的博客 4689

ctf中文转unicode_CTF实战解笔 - Web篇

CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。起源于1996年DEFCON全球黑客大会,后以CTF代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。CTF一般分为三种模式:解模式、攻防模式、混合模式。今天我们就来跟大家分享一下CTF中Web的解,有些枯燥,大家凑合看吧@-@。。。web部分是CTF的重...

weixin_39707597的博客 456

NSSCTF

preg_match() 函数:用于进行正则表达式匹配,成功返回 1 ,否则返回 0intval ():获取变量的整数值isset()函数:在php中用来判断变量是否声明,该函数返回布尔类型的值,即true/false。isset只能用于变量,传递任何其它参数都将造成解析错误。is_string():用于检测变量是否是字符串看代码发现有三个if条件需要绕过第一个:用post对a进行传参,参数不能包含0-9的数字且要是整型绕过preg_match()函数可以用数组绕过显示go on,成功绕过。

m0_63711447的博客 651

[CTF/网络安全] 攻防世界 baby_web 解详析

考察初始页面文件及302重定向知识。

Hacker_Nightrain的博客 991

NKCTF baby_php wp

我们需要打开f1ag文件,获取flag,查看当前目录的话,会发现一个叫做ooo.txt的文件,里面放着根目录列表。经分析,所传入的$string字符串不能含有f l a g *?中的任何字符,并且不分大小写。ls指令无法使用,其中含有字符l,我们可以使用dir替代。也就是说所传入的内圈函数要绕过此正则。$cmd变量对应$string。

Elite的博客 647

i春秋2020新春疫战 非SQL目解析

Ezupload 这道目可能是师傅的失误,在上传后缀名过滤的数组中有一些失误~~ 导致直接上传php马,得到flag~~ 这儿贴一下上传shell查看的源码 <?php error_reporting(0); header("Content-type: text/html; charset=utf-8"); $sandbox='sandbox/'.md5($_SERVER['remote_...

a3320315的博客 1347

极客巅峰 2020 babyphp2(phar反序列化)

文章目录前言一、什么是 phar 反序列化1.三个条件2.生成 phar 文件的常见代码目分析下载源码classes.php生成 phar 文件总结 前言 这比赛的时候,我一脸懵逼,大佬提示才知道源码泄露。但是之前没做过 phar 反序列化的,二脸懵逼。还好源码没删,自己搭建了环境,看着大佬们的wp复现一番。点击打开目 VPS 20年12月10号过期,望见谅。 一、什么是 phar 反序列化 利用Phar:// 伪协议读取phar文件时,会反序列化meta-data储存的信息。phar简介 .

y0un9er 896

php竞赛,京津冀大学生竞赛:babyphp

京津冀大学生竞赛:babyphp比赛的时候没作出来,回来之后一会就作出来了,难受。。。仍是基本功不扎实,都不得__invoke怎么触发的了php放上源码函数error_reporting(1);class Read {public $var;public function file_get($value){$text = base64_encode(file_get_contents($valu...

weixin_39884738的博客 275

[NSSCTF 2022 Spring Recruit]babyphp-WP详解

虽然网上有很多博主写了这道的WP,但是作为一个初学者个人感觉还是太简略,很多知识点需要自己找好久,于是就从一个出初学者的角度出发总结这道,里面包括了在解这道时作用的知识点,如果存在问,可以在评论区纠正。条件③则为比较常见的弱比较,要求c1和c2不相等,且都为字符,二者的哈希值还要相等,所以直接从表一中找两个即可满足条件:c1=QNKCDZ0,c2=s878926199a。==================此处引用了一位博主关于数组绕过的解释=======================

2501_92123460的博客 598
上一篇: 由一道CTF信息泄露题而引发的对git命令的再次温习
下一篇: PHP
xiaosec
博客等级 码龄15年 15粉丝 44原创
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值