西湖论剑 web 5 easyjson
今天西湖论剑比赛,但是今天要去学校所以一上午就在火车上度过,下午4点才去看了看题,也只看了一道题。就和队伍小伙伴讨论(yu22x师傅和atao师傅)出来的,但是自己环境错了(应该是封了我ip),在最后换了手机wifi的才提交了flag。真的太刺激啦
唯一遗憾就是今天开学坐火车没有太多时间做题,大部分是m3w师傅和呆呆师傅做的。
一. 源代码
<?php
include 'security.php';if(!isset($_GET['source'])){show_source(__FILE__);die();
}
$sandbox = 'sandbox/'.sha1($_SERVER['HTTP_X_FORWARDED_FOR']).'/';//设置沙盒根据自己ip获得目录
var_dump($sandbox);
if(!file_exists($sandbox)){//如果不存在就创建mkdir($sandbox);file_put_contents($sandbox."index.php","<?php echo 'Welcome To Dbapp OSS.';?>");
}
$action = $_GET['action'];
$content = file_get_contents("php://input");//获得post数据流if($action == "write" && SecurityCheck('filename',$_GET['filename']) &&SecurityCheck('content',$content)){//验证函数$content = json_decode($content);//json格式解密$filename = $_GET['filename'];$filecontent = $content->content;//获得content变量的值$filename = $sandbox.$filename;file_put_contents($filename,$filecontent."\n Powered By Dbapp OSS.");//写入文件,利用点
}elseif($action == "reset"){//删除操作$files = scandir($sandbox);foreach($files as $file) {if(!is_dir($file)){if($file !== "index.php"){unlink($sandbox.$file);}}}
}
else{die('Security Check Failed.');
}
二. 思路
代码比较简单,意思就是我们访问的时候会生成一个沙盒目录,然后我们通过json格式写入文件进行利用
在自己之前测试的过程,是自己将json格式进行url编码,但是羽师傅告诉我说这样不会进行解析,之后在本地测试了一下确实不能进行解析。
#test.php
<?php
error_reporting(0);
highlight_file(__FILE__);
$content = file_get_contents('php://input');
// $content = '{"content":"1"}';
$content = json_decode($content);
$filecontent = $content->content;
print_r($filecontent);
?>
之后和羽师傅讨论,因为题目叫easyjson,所以SecurityCheck()函数里面应该是对json格式的验证,自己fuzz了一下发现对content
这个变量进行了过滤。并且filename这个参数可以后缀名是.php
而且不能的数字
所以考点就是绕过json格式
三. json格式绕过
浅谈json参数解析对waf绕过的影响
经过测试,发现unicode编码可以绕过
unicode转换工具
在本地测试成功
四. getshell
接下来思路就清晰啦,我们直接写入一个php进行getshell。
这里我们为了保险起见
写入一句
<?='ls /`;?>
然后访问沙盒目录下的a.php
执行成功,然后就读flag。这里使用*来替代flag,因为flag被过滤啦
五. 总结
最后羽师傅copy下了security.php
,我们就可以分析一下过滤了那些
<?php
function SecurityCheck($type,$content){switch ($type){case 'filename'://文件名匹配字母,没有验证后缀名if(preg_match("/[^a-z\.]/", $content) !== 0) {return false;}return true;break;case 'content'://过滤了on html flag file php upload typeif(stristr($content,'on') || stristr($content,'html') || stristr($content,'type') || stristr($content,'flag') || stristr($content,'upload') || stristr($content,'file') || stristr($content,'php') || stristr($content,'.')) {return false;}return true;break;}
}// Powered By Dbapp OSS
最后的最后,和羽师傅笑谈,可能羽师傅感觉太简单啦~
西湖论剑 web 5 easyjson相关推荐
- 2019西湖论剑web wp
发在正文前 这应该是自己在安全圈摸爬滚打两年多以来第一次正规的ctf比赛.没解出flag,没截图,只提供了一些思路. 遥想往昔,初入大学,带着对PT的向往,一个人穿行在幽暗的图书馆,翻阅啃读一本本安全 ...
- WP-2021西湖论剑
2021西湖论剑-wp 前言 全靠大佬打,我是划水的. 灏妹的web 页面开发中 Dirsearch扫一下,idea泄露 ezupload 查看页面源代码,发现提示 ?source=1 发现使用_FI ...
- 2022西湖论剑-初赛CTF部分wp-Zodiac
2022西湖论剑-初赛CTF部分wp-Zodiac 文章目录 2022西湖论剑-初赛CTF部分wp-Zodiac WEB real_ez_node 扭转乾坤 Node Magical Login PW ...
- 2023西湖论剑wirteup
2023西湖论剑wirteup 文章目录 2023西湖论剑wirteup 机你太美 take_the_zip_easy mp3 Isolated Machine Memory Analysis 前言: ...
- 2019西湖论剑·网络安全大会开幕 安全赋能数字新时代...
2019年4月20日-21日,以"安全:赋能数字新时代"为主题的2019西湖论剑•网络安全大会(以下简称"西湖论剑")在杭州国际博览中心举行.西湖论剑自2012 ...
- 2019西湖论剑·网络安全大会开幕 安全赋能数字新时代
2019年4月20日-21日,以"安全:赋能数字新时代"为主题的2019西湖论剑•网络安全大会(以下简称"西湖论剑")在杭州国际博览中心举行.西湖论剑自2012 ...
- 远禾科技出席阿里ASRC生态大会 并参与安恒西湖论剑...
近日,由阿里安全响应中心举办的2019 ASRC生态大会与安恒承办的2019西湖论剑·网络安全大会在互联网之都杭州成功召开,作为网络安全行业的两大盛会,得到了协会领导.业界权威.行业大咖.领导品牌.企 ...
- 远禾科技出席阿里ASRC生态大会 并参与安恒西湖论剑
近日,由阿里安全响应中心举办的2019 ASRC生态大会与安恒承办的2019西湖论剑·网络安全大会在互联网之都杭州成功召开,作为网络安全行业的两大盛会,得到了协会领导.业界权威.行业大咖.领导品牌.企 ...
- 2023西湖论剑——misc——MP3
西湖论剑--misc--MP3 附件下载 链接:https://pan.baidu.com/s/1A-QFz3qC4Q2mSdZKBYqZNw 提取码:lulu MP3详解 这个应该是2023年这一届 ...
- 西湖论剑CTF2019
Crypto 哈夫曼之谜 哈夫曼.png 下载下来就一个文件,里面全是0101和一些字符. 搜索哈夫曼,了解到哈夫曼压缩时用到的哈夫曼树. 猜测下面的字符代表频率. 哈夫曼树建立过程如下 哈夫曼树建立 ...
最新文章
- goland 关闭 自动移除未使用的包 自动添加需要的包
- rocketmq queue_RocketMQ在面试中那些常见问题及答案+汇总
- css不常用重要属性
- Linux环境下安装Tigase XMPP Server
- python卷积神经网络cnn的训练算法_【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理...
- 【PMP学习笔记】:三、项目经理角色
- 学Kafka,就必须了解的再均衡问题!
- 20172329 2017-2018-2 《程序设计与数据结构》第五周学习总结
- FuisonInsight Hadoop中新增用户和Hbase授权
- 计算机专业外语的特点,计算机专业英语在邮政信息技术领域的应用特点|计算机专业哪个好...
- Python基础语法,基本数据类型及相关操作
- 如何下载Xcode DMG或XIP文件?
- 图片处理——使用NDK添加文字和图片水印
- 【响应式Web前端设计】i标签和em标签的区别
- 分享几个不错的流程图制作网站
- 2020最新PHP面试题(附带答案)
- Sicily 1090 Highways
- 联想T440怎么把原装Win8或Win10换成Win7系统
- 全球医药研发支出及处方药市场发展前景分析:预计到2026年全球处方药销售额超过1.4万亿美元[图]
- 手机5g什么时候普及_5G网络什么时候普及,5G手机什么时候买比较合适?