CTF-代码审计(2)
1.bugku 备份是个好习惯
网址:http://123.206.87.240:8002/web16/
进去什么都没有,题目说备份想到备份文件,所以直接再后面加个 .bak
拿到源码:
<?php
/**
* Created by PhpStorm.
* User: Norse
* Date: 2017/8/6
* Time: 20:22
*/
include_once "flag.php";
ini_set("display_errors", 0);
$str = strstr($_SERVER['REQUEST_URI'], '?'); // strstr(str1,str2) 字符串str1中搜索str2,如果存在则返回str2及str2以后得剩余部分;
$str = substr($str,1); // php 得substr() 这里省略了第三个参数 长度,所以从第一个开始截取到最后;
$str = str_replace('key','',$str); // str_replace("world","Shanghai","Hello world!") 把hello world里面得world换成shanghai
// 这里把输入得参数用空字符串去代替了key,所以需要双写key绕过
parse_str($str);
echo md5($key1);
echo md5($key2);
if(md5($key1) == md5($key2) && $key1 !== $key2){
echo $flag."取得flag";
}
?>

CTF-代码审计(2)的更多相关文章
- 某CTF代码审计题
记一次参加CTF比赛翻车记! 开始还是挺有信心的,毕竟也是经常打一些CTF锻炼,然而比赛发现大佬们平时不显山不漏水的一比赛全出来了!赛后看了一下各题的writeup发现自己的确技不如人啊!借鉴一个 ...
- CTF——代码审计之变量覆盖漏洞writeup【2】
题目: 基础: 所需基础知识见变量覆盖漏洞[1] 分析: 现在的$a=’hi’,而下面的函数需满足$a=’jaivy’才可以输出flag,那么需要做的事就是想办法覆盖掉$a原来的值. 那么出现的提示 ...
- CTF——代码审计之变量覆盖漏洞writeup【1】
题目: 所需基础知识: 分析: 思路:由于目的是要拿$flag的值,所以可以得出最终会输出两个变量,而$flag的值在红框那行,被我们自己post的值给覆盖,所以flag值肯定不会在这出来,那么只剩下 ...
- CTF之PHP黑魔法总结
继上一篇php各版本的姿势(不同版本的利用特性),文章总结了php版本差异,现在在来一篇本地日记总结的php黑魔法,是以前做CTF时遇到并记录的,很适合在做CTF代码审计的时候翻翻看看. 一.要求变量 ...
- 7. 由一道ctf学习变量覆盖漏洞
0×00 背景 近期在研究学习变量覆盖漏洞的问题,于是就把之前学习的和近期看到的CTF题目中有关变量覆盖的题目结合下进一步研究. 通常将可以用自定义的参数值替换原有变量值的情况称为变量覆盖漏洞.经常导 ...
- CTF中的变量覆盖问题
0x00 前言 最近在干代码审计,于是就把之前学习的CTF题目中有关变量覆盖的题目结合下进一步研究. 通常将可以用自定义的参数值替换原有变量值的情况称为变量覆盖漏洞.经常导致变量覆盖漏洞场景有:$$使 ...
- Web安全之变量覆盖漏洞
通常将可以用自定义的参数值替换原有变量值的情况称为变量覆盖漏洞.经常导致变量覆盖漏洞场景有:$$使用不当,extract()函数使用不当,parse_str()函数使用不当,import_reques ...
- CTF-WeChall-第一天
2020.09.09 今天来了一个新平台,WeChall,从简单的开始做,才能找到自信--i春秋的题做自闭了
- [原题复现+审计][BJDCTF2020]Mark loves cat($$导致的变量覆盖问题)
简介 原题复现:https://gitee.com/xiaohua1998/BJDCTF2020_January 考察知识点:$$导致的变量覆盖问题 线上平台:https://buuoj.cn( ...
- 代码审计变成CTF
0x01 代码审计中的信息收集 一个cms代码量确实不少,通读代码耗时长,效果也不一定好.而一个功能点如果之前出过漏洞,特别是多次出现漏洞的地方,证明开发者对这个漏洞的理解不充分,很容易再次绕过补丁. ...
随机推荐
- VIJOS-P1325 桐桐的糖果计划
VIJOS-P1325 桐桐的糖果计划 JDOJ 1432 桐桐的糖果计划 https://neooj.com/oldoj/problem.php?id=1432 Description 桐桐很喜欢吃 ...
- 在树莓派上配置MariaDB
在树莓派上配置MariaDB 前言 MariaDB是由原本开发MySQL的一些原始开发者领导,他们担心Oracle收购MySQL后会有一些隐患.MariaDB与MySQL保持这高度兼容性,并使用了一个 ...
- 8.18 NOIP模拟测试25(B) 字符串+乌鸦喝水+所驼门王的宝藏
T1 字符串 卡特兰数 设1为向(1,1)走,0为向(1,-1)走,限制就是不能超过$y=0$这条线,题意转化为从(0,0)出发,走到(n+m,n-m)且不越过$y=0$,然后就裸的卡特兰数,$ans ...
- 推荐一款语音直播连麦App YAMI
推荐一款语音直播连麦App YAMI 1 介绍 功能描述:[语音直播]:海量超有才主播,游戏送礼抢红包,嗨玩不停:[多人聊天室]:连麦交友处CP,主持人带你玩游戏,边聊边玩:[语音交友]:海量声优专属 ...
- Nacos集成Spring Cloud Gateway 基础使用
项目结构 项目 端口 描述 nacos-provider 8000 服务 nacos-getway 8001 网关 nacos-provider项目依赖 <dependencies> &l ...
- 第21课 shared_ptr共享型智能指针
一. shared_ptr的基本用法 (一)与unique_ptr的比较 比较 shared_ptr unique_ptr 备注 初始化 ①shared_ptr<T> sp; sp.res ...
- nginx 安装ab小工具方法
nginx 安装ab小工具方法测试工具安装(以centos系统为例)yum -y install httpd-tools 然后测试下ab -V
- 集合类源码(七)Map(ConcurrentHashMap, ConcurrentSkipListMap, TreeMap)
ConcurrentHashMap 内部结构 在JDK1.8之前的实现结构是:ReentrantLock+Segment+HashEntry+链表 JDK1.8之后的实现结构是:synchronize ...
- Java for循环每次都通过list.size()和 string.length()获取大小是否消耗性能?
前言 有人说在for循环之前用一个局部变量先获取到list.size().str.length(),然后在for循环的判断条件里通过这个局部变量替换list.size().str.length()会节 ...
- 汇编语言01 - 打印 "Hello World!"
Hello World! 源代码 data segment msg db "Hello World!$";定义名称为msg的字符串,最后加上$,表示字符串结束 data ends ...