V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hoythan
V2EX  ›  程序员

有人可以帮我看看这个被挂马的 PHP 怎么解析出内容吗?

  •  
  •   hoythan · 2016-03-09 22:05:47 +08:00 · 4053 次点击
    这是一个创建于 2973 天前的主题,其中的信息可能已经有所发展或是发生改变。
    突然服务器监控到非常慢的执行文件
    然后找到了一个名字叫 error.php 的文件,我虽然删除了,但是还很不放心,可以帮我看看里面是什么内容吗?或者有什么方法可以看到吗?类似 base64_decode 之类的加密?

    http://runjs.cn/detail/t7pjk2ps
    点击查看源码帮我查看下 拜托各位。
    48 条回复    2016-03-11 23:26:44 +08:00
    Strikeactor
        1
    Strikeactor  
       2016-03-09 22:14:43 +08:00   ❤️ 1
    让你们老板招个运维吧真的。。
    hoythan
        2
    hoythan  
    OP
       2016-03-09 22:18:28 +08:00
    emric
        3
    emric  
       2016-03-09 22:20:02 +08:00   ❤️ 1
    一句话木马。
    hoythan
        4
    hoythan  
    OP
       2016-03-09 22:21:16 +08:00
    @emric 我不知道内容,也不知道怎么出现的...我想先知道内容,来了解危害性有多大
    qcloud
        5
    qcloud  
       2016-03-09 22:24:13 +08:00   ❤️ 1
    @hoythan - - 如果真是木马,服务器权限就被拿到了
    qcloud
        6
    qcloud  
       2016-03-09 22:27:02 +08:00   ❤️ 1
    @emric 看上去并不像一句话
    raincious
        7
    raincious  
       2016-03-09 22:34:10 +08:00   ❤️ 1
    楼主你这是连续剧么?

    Day 1 :因为图片未压缩导致应用程序服务器带宽被挤爆
    Day 2 :(猜测是)因为 SQL 查询太多导致 MySQL 服务器被查爆
    Day 3 :被挂了木马

    楼主,全栈工程师真的需要很多经验,不是一两天就会的。让你老板招一个前端 + 一个运维,让专业的人来做专业的事。自己在经验不足的情况下会可能会越弄越糟糕。

    比如你那个木马,至少得把文件帖全了啊😂。
    MaiCong
        8
    MaiCong  
       2016-03-09 22:36:01 +08:00   ❤️ 1
    楼主能把对应的代码贴全吗
    yangqi
        9
    yangqi  
       2016-03-09 22:36:59 +08:00   ❤️ 1
    自己运行一下,把 eval 去掉就行了,得到一个 109K 左右的 php 文件
    Moker
        10
    Moker  
       2016-03-09 22:39:45 +08:00   ❤️ 1
    运行 echo 可以替换成一段 PHP 代码 然后就是这个作怪了 话说发生这种问题 一般来说都是盗版主题的问题
    yangqi
        11
    yangqi  
       2016-03-09 22:42:22 +08:00   ❤️ 1
    放在这里了
    http://codepad.org/Wl8XwCWT

    自己看吧
    yangqi
        12
    yangqi  
       2016-03-09 22:45:50 +08:00   ❤️ 1
    yangqi
        13
    yangqi  
       2016-03-09 22:46:14 +08:00   ❤️ 1
    看了下好像是用来发垃圾邮件的
    hoythan
        14
    hoythan  
    OP
       2016-03-09 22:48:13 +08:00 via iPhone
    @Moker 整个网站除了 wordpress 系统外都是我自己写的,我也不知这个文件是怎么出现的
    strwei
        15
    strwei  
       2016-03-09 22:49:14 +08:00   ❤️ 1
    eval 大法好
    hoythan
        16
    hoythan  
    OP
       2016-03-09 22:49:19 +08:00 via iPhone
    @yangqi

    我眼睛都看瞎了,大量的 sendCommand 难道是评论机?
    stanhou
        17
    stanhou  
       2016-03-09 22:49:27 +08:00   ❤️ 2
    你们就继续帮 LZ 解决问题吧。
    下次 LZ 的问题就是:
    “我们老板交给我一个任务,需求在这个网盘里,请好心人帮忙给做一下,最好了请直接发到我老板的邮箱里,省的我中转了,拜托各位”
    hoythan
        18
    hoythan  
    OP
       2016-03-09 22:52:16 +08:00 via iPhone   ❤️ 1
    @stanhou 我是真的解决不了,文件我已经自己处理成标准的 php 格式了,但是还是有少部分无法解码, php 也没法运行。相比较鱼,我更希望得到渔具。
    ddaii
        19
    ddaii  
       2016-03-09 22:53:33 +08:00   ❤️ 1
    其实不用管这个文件是什么内容,既然这个文件已经被执行了,那说明黑客至少能读写你的文件以及数据库,至于到什么程度就看你是怎么配置的了。另外,后门一定还在不解决掉它以后还会再来的。
    yangqi
        20
    yangqi  
       2016-03-09 22:54:15 +08:00   ❤️ 1
    @hoythan 其实很简单,整个文件把 eval 改成 print 就可以了
    yangqi
        21
    yangqi  
       2016-03-09 22:55:57 +08:00   ❤️ 1
    如果是 wordpress 的话漏洞还是很多的,不过大部分都是第三方插件或者模板。之前也被人下过一个马

    一般在什么目录下能大概知道是从哪里进来的
    hoythan
        22
    hoythan  
    OP
       2016-03-09 22:56:10 +08:00 via iPhone
    @ddaii 因为我写过一个基于来源的 editor.md 。里面附带了一个 upload.php 文件功能,我怀疑是通过这个将这东西写文件到我服务器上的。现在我就是不知道日后这种问题应该如何排查。
    hoythan
        23
    hoythan  
    OP
       2016-03-09 22:58:36 +08:00 via iPhone
    @yangqi 因为这个 error.php 就是生成在这个编辑器之下,既然有生成权限我担心会大量的生成到其他地方心好累
    jugelizi
        24
    jugelizi  
       2016-03-09 22:59:41 +08:00
    查看文件创建时间 是程序上传还是系统漏洞
    ftp 是不是一直被扫端口
    查看访问日志
    ddaii
        25
    ddaii  
       2016-03-09 23:00:00 +08:00
    看日志啊,在日志里搜索这个文件,看看是哪个 ip 在访问它,然后查找这个 ip 的所有访问记录大概就可以找出来了。
    raincious
        26
    raincious  
       2016-03-09 23:08:20 +08:00
    @yangqi 原来代码是帖全了,但是选择了 HTML 模式。

    我也看了下那个文件,应该是用来发送垃圾邮件的。楼主你是不是真的下了盗版主题?

    这个文件会接受 HTTP POST 请求,并且拿出请求的第一个参数作为配置交给 `type1_send` 函数。

    `type1_send` 函数拿到配置之后,会用函数 `b64d` 以及 `decode` 将配置解开,然后 `unserialize`。`ak` 应该是密码?`sendSmtpMail` 函数用来构建一个 PHPMailer 实例来发送邮件(真牛逼啊,打包了整个 PHPMailer 进去,这么大真还算是偷偷摸摸么)

    其实有未受控的 `unserialize` 就已经够不安全了,或许可以进行对象注入,把它当作木马完全不过分。
    MaiCong
        27
    MaiCong  
       2016-03-09 23:11:52 +08:00
    楼主如果有完整的那个数组函数,可以这样解码试试:
    https://gist.github.com/maicong/738df897ca1d217bfe66
    yangqi
        28
    yangqi  
       2016-03-09 23:11:56 +08:00
    @hoythan 查日志,多半和 upload.php 有关。要看 upload.php 里面具体怎么写的,一般没拿到 shell 的话很难传到其他文件夹

    wordpress 的站每时每刻都有各种扫描漏洞的机器人
    MaiCong
        29
    MaiCong  
       2016-03-09 23:21:52 +08:00
    已经解出了源码
    iyaozhen
        30
    iyaozhen  
       2016-03-09 23:48:37 +08:00 via Android
    @hoythan 富文本编辑器千万要谨慎,特别是还带上传功能的。市面上的基本都有坑。
    mhycy
        31
    mhycy  
       2016-03-09 23:49:05 +08:00
    还记得昨天的 ALTER TABLE 么?
    别告诉我你说的上传功能就是这货。。。。
    SoloCompany
        32
    SoloCompany  
       2016-03-09 23:50:07 +08:00
    其实楼主的头像挺萌的
    mhycy
        33
    mhycy  
       2016-03-09 23:50:46 +08:00   ❤️ 1
    @SoloCompany
    头像有加成。。。
    iyaozhen
        34
    iyaozhen  
       2016-03-09 23:51:41 +08:00 via Android   ❤️ 1
    还有,楼主,明天继续。静待
    SoloCompany
        35
    SoloCompany  
       2016-03-09 23:51:50 +08:00   ❤️ 1
    @mhycy 嗯,还是没脑补出他怎么被老板砍死的样子
    ztrt
        36
    ztrt  
       2016-03-10 09:28:28 +08:00 via Android
    第三集了啊,啥时候大结局
    dark456852
        37
    dark456852  
       2016-03-10 10:20:17 +08:00
    预计第四集,楼主向运维迈进,欢迎进入我的行列~~~~~~
    lutla
        38
    lutla  
       2016-03-10 14:01:35 +08:00
    第五集,楼主学会了信息安全,欢迎成为同行~
    ten789
        39
    ten789  
       2016-03-10 14:32:04 +08:00
    坐等第 4 集 太欢乐啦
    starqoq
        40
    starqoq  
       2016-03-10 15:49:42 +08:00
    把 eval 换成 echo 运行一下就行了。
    hicdn
        41
    hicdn  
       2016-03-10 16:54:52 +08:00
    把 upload.php 内容贴出来
    tuuuz
        42
    tuuuz  
       2016-03-10 17:11:01 +08:00
    说个题外话:刚刚不小心点到题主微博

    tuuuz
        43
    tuuuz  
       2016-03-10 17:17:40 +08:00
    题主叫老板找个运维吧
    unknownservice
        44
    unknownservice  
       2016-03-10 18:42:05 +08:00
    年度大戏的赶脚,等更新
    ChiChou
        45
    ChiChou  
       2016-03-10 20:09:53 +08:00
    @hoythan 是个 SMTP 发邮件的库
    ChiChou
        46
    ChiChou  
       2016-03-10 20:10:42 +08:00
    @yangqi 楼主贴的代码看上去都不完整啊,你怎么拿到 eval 的内容的?
    yangqi
        47
    yangqi  
       2016-03-10 22:43:07 +08:00
    @ChiChou 贴的是完整的,不过楼主发的链接默认显示的不完整。点击右下角查看源码就行了
    akira
        48
    akira  
       2016-03-11 23:26:44 +08:00
    内容真不重要,重要的是这个文件怎么上去的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5261 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 08:28 · PVG 16:28 · LAX 01:28 · JFK 04:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.