[BUUOJ记录] [BSidesCF 2020]Had a bad day】的更多相关文章

主要考察文件包含以及php://filter伪协议的一个小trick.题目很简单,但是因为不知道这个trick卡了很久,记录一下 进入题目看到有两个按钮,没有其他信息: 点击按钮显示出来一张图片,然后发现URL变成了: http://0d01386f-60a4-4890-9723-b12f3a9eb35c.node3.buuoj.cn/index.php?category=woofers 怀疑是SQL注入或者是文件包含,随便输入一个值返回了PHP报错: 确定是文件包含漏洞,直接包含/flag发现…
主要考察ThinkPHP6.0的一个任意文件写入的CVE以及突破disable_function的方法. ThinkPHP6.0.0任意文件操作漏洞 理论分析 进入题目是一个简单的操作页面,dirmap扫出来www.zip源码泄露: 下载下来看一下源码目录: 很明显的ThinkPHP框架,让网页随便报个错看看版本: 发现版本为6.0.0,一般线上CTF题目中出现ThinkPHP这种框架时,多是考察近期该框架爆出的通用漏洞,像是XCTF外卡赛“高校战‘疫’”的PHP-UAF便是考察了一个PHP近期…
[BSidesCF 2020]Had a bad day 测试 一些猫狗的图片加上url有传参,测试到文件包含时报错了. 使用php伪协议: php伪协议 php://fliter/read=convert.base64-encode/resource=index base64解码后拿下了index.php的源码. <?php $file = $_GET['category']; if(isset($file)) { if( strpos( $file, "woofers" )…
BUUOJ Web的第一题,其实是很有质量的一道题,但是不知道为什么成了Solved最多的题目,也被师傅们笑称是“劝退题”,这道题的原型应该是来自于phpMyadmin的一个文件包含漏洞(CVE-2018-12613) 解题过程 解题思路 进入题目查看源代码发现提示: 跟进source.php得到源代码: <?php highlight_file(__FILE__); class emmm { public static function checkFile(&$page) { $white…
三道比较简单的的题放一起一写,old-hack是ThinkPHP框架的一个nday,Schrödinger和elementmaster没啥考点,就是脑洞 一.old-hack 进入题目没发现什么Hint和有用的东西,只给出了ThinkPHP5的提示,猜测应该是考察一个ThinkPHP5的nday, 想办法构造一个ThinkPHP的报错看一下详细版本: http://a504dd5e-6b7c-407f-ab11-ee1c9efdc3f3.node3.buuoj.cn/index.php?s=1…
感觉算是这次比赛里面综合性很强的一道题了,主要考察SSRF.PHP伪协议包含.挖掘逻辑漏洞和一个小tirck.委屈的是第一天晚上就做到了最后一步,想到了SESSION置空即可绕过,但是最后读Flag姿势不对导致比赛结束都没做出来......QAQ 进入题目Header发现Hint,BJD一贯的尿性,做BJD题目的时候F12不能关 - .- 根据提示进入home.php,发现URL变成了: http://d3a0ad27-3c95-46f7-bfc2-208e580c984b.node3.buuo…
本题考查python jinjia2的ssti,其实tplmap直接梭哈都可以 随便输入一个值,查看源代码就能看到一个Hint: 用下面的流程图测试一下,看看是什么模板引擎: 用Payload测试之后发现是jinjia2的模板引擎,然后构造jinjia2 ssti的命令执行payload: {% for c in [].__class__.__base__.__subclasses__() %}{% if c.__name__=='catch_warnings' %}{{ c.__init__.…
本题考察XFF头的ssti模板注入,没有过滤,算是入门题 进入题目hint.php的源码中可以看到一个hint 猜测是通过XFF头来获取信息的,发个HTTP请求添加一个XFF头测试一下: GET /flag.php HTTP/1.1 Host: node3.buuoj.cn: User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/ Firefox/74.0 Accept: text/html,applicatio…
主要考察利用已有函数构造危险函数绕过,实现RCE. 进入题目给出源码: <?php error_reporting(0); //听说你很喜欢数学,不知道你是否爱它胜过爱flag if(!isset($_GET['c'])){ show_source(__FILE__); }else{ //例子 c=20-1 $content = $_GET['c']; if (strlen($content) >= 80) { //[NESTCTF 2019]Love Math2这里限制长度为60,用本题的异…
前面考察取反或者异或绕过,后面读Flag那里我用脏方法过了,没看出来考察啥 进入题目给出源码: <?php error_reporting(0); if(isset($_GET['code'])){ $code=$_GET['code']; if(strlen($code)>40){ die("This is too Long."); } if(preg_match("/[A-Za-z0-9]+/",$code)){ die("NO."…