今天西湖论剑比赛,但是今天要去学校所以一上午就在火车上度过,下午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相关推荐

  1. 2019西湖论剑web wp

    发在正文前 这应该是自己在安全圈摸爬滚打两年多以来第一次正规的ctf比赛.没解出flag,没截图,只提供了一些思路. 遥想往昔,初入大学,带着对PT的向往,一个人穿行在幽暗的图书馆,翻阅啃读一本本安全 ...

  2. WP-2021西湖论剑

    2021西湖论剑-wp 前言 全靠大佬打,我是划水的. 灏妹的web 页面开发中 Dirsearch扫一下,idea泄露 ezupload 查看页面源代码,发现提示 ?source=1 发现使用_FI ...

  3. 2022西湖论剑-初赛CTF部分wp-Zodiac

    2022西湖论剑-初赛CTF部分wp-Zodiac 文章目录 2022西湖论剑-初赛CTF部分wp-Zodiac WEB real_ez_node 扭转乾坤 Node Magical Login PW ...

  4. 2023西湖论剑wirteup

    2023西湖论剑wirteup 文章目录 2023西湖论剑wirteup 机你太美 take_the_zip_easy mp3 Isolated Machine Memory Analysis 前言: ...

  5. 2019西湖论剑·网络安全大会开幕 安全赋能数字新时代...

    2019年4月20日-21日,以"安全:赋能数字新时代"为主题的2019西湖论剑•网络安全大会(以下简称"西湖论剑")在杭州国际博览中心举行.西湖论剑自2012 ...

  6. 2019西湖论剑·网络安全大会开幕 安全赋能数字新时代

    2019年4月20日-21日,以"安全:赋能数字新时代"为主题的2019西湖论剑•网络安全大会(以下简称"西湖论剑")在杭州国际博览中心举行.西湖论剑自2012 ...

  7. 远禾科技出席阿里ASRC生态大会 并参与安恒西湖论剑...

    近日,由阿里安全响应中心举办的2019 ASRC生态大会与安恒承办的2019西湖论剑·网络安全大会在互联网之都杭州成功召开,作为网络安全行业的两大盛会,得到了协会领导.业界权威.行业大咖.领导品牌.企 ...

  8. 远禾科技出席阿里ASRC生态大会 并参与安恒西湖论剑

    近日,由阿里安全响应中心举办的2019 ASRC生态大会与安恒承办的2019西湖论剑·网络安全大会在互联网之都杭州成功召开,作为网络安全行业的两大盛会,得到了协会领导.业界权威.行业大咖.领导品牌.企 ...

  9. 2023西湖论剑——misc——MP3

    西湖论剑--misc--MP3 附件下载 链接:https://pan.baidu.com/s/1A-QFz3qC4Q2mSdZKBYqZNw 提取码:lulu MP3详解 这个应该是2023年这一届 ...

  10. 西湖论剑CTF2019

    Crypto 哈夫曼之谜 哈夫曼.png 下载下来就一个文件,里面全是0101和一些字符. 搜索哈夫曼,了解到哈夫曼压缩时用到的哈夫曼树. 猜测下面的字符代表频率. 哈夫曼树建立过程如下 哈夫曼树建立 ...

最新文章

  1. goland 关闭 自动移除未使用的包  自动添加需要的包
  2. rocketmq queue_RocketMQ在面试中那些常见问题及答案+汇总
  3. css不常用重要属性
  4. Linux环境下安装Tigase XMPP Server
  5. python卷积神经网络cnn的训练算法_【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理...
  6. 【PMP学习笔记】:三、项目经理角色
  7. 学Kafka,就必须了解的再均衡问题!
  8. 20172329 2017-2018-2 《程序设计与数据结构》第五周学习总结
  9. FuisonInsight Hadoop中新增用户和Hbase授权
  10. 计算机专业外语的特点,计算机专业英语在邮政信息技术领域的应用特点|计算机专业哪个好...
  11. Python基础语法,基本数据类型及相关操作
  12. 如何下载Xcode DMG或XIP文件?
  13. 图片处理——使用NDK添加文字和图片水印
  14. 【响应式Web前端设计】i标签和em标签的区别
  15. 分享几个不错的流程图制作网站
  16. 2020最新PHP面试题(附带答案)
  17. Sicily 1090 Highways
  18. 联想T440怎么把原装Win8或Win10换成Win7系统
  19. 全球医药研发支出及处方药市场发展前景分析:预计到2026年全球处方药销售额超过1.4万亿美元[图]
  20. 手机5g什么时候普及_5G网络什么时候普及,5G手机什么时候买比较合适?

热门文章

  1. 仙剑奇侠传3 全开注册表改法
  2. 超级牛人华为工作十年离职感想
  3. js、html实现断点播放视频,视频资源在localStorage中
  4. 产品经理从专能到全能——不再虚无缥缈的用户体验
  5. android基础知识1
  6. 2021 ICPC Jinan C Optimal Strategy
  7. #windowsxpsp3系统MS10-046漏洞测试
  8. WTL 自绘控件库 (CQsComboBox)
  9. Vue3 源码阅读(3):响应式系统 —— 重置 effect 的依赖收集、嵌套的 effect、effect 调度执行
  10. Rhythmbox 乱码问题