Polar靶场 某函数的复仇

记录一道利用 create_function() 函数漏洞getshell的题。

关于create_function()函数漏洞利用可以参考下面的文章

https://www.cnblogs.com/zzjdbk/p/12980483.html

老样子看源码

<?php
highlight_file(__FILE__);
//flag:/flag
if(isset($_POST['shaw'])){
    $shaw = $_POST['shaw'];
    $root = $_GET['root'];
    if(preg_match('/^[a-z_]*$/isD',$shaw)){  //以小写字母以及_ 开头和结尾
        if(!preg_match('/rm|ch|nc|net|ex|\-|de|cat|tac|strings|h|wget|\?|cp|mv|\||so|\$/i',$root)){
            $shaw('',$root);
        }else{
            echo "Almost there^^";
        }
    }
}
?>

题目的意思很明显了,就是让我们利用 create_function这个函数getshell,我们让 $shaw=create_function,$root=;}任意代码;//    其中}是为了闭合函数,//是为了注释后面的代码从而让我们执行我们想要执行的代码

看看效果

可以看到成功RCE,这里phpinfo()是无法执行的,因为过滤了h,题目提示或者 ls / 可以知道flag在根目录

常规读取文件的命令cat,tac,head,sort等被过滤,我们可以直接使用反斜杠 \ 绕过,当然也可以使用less,tail命令来绕过

成功得到flag。

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值