地藏论坛  佛教大藏经   地藏社区   地藏占察网  地藏千佛网

查看完整版本: 论坛被挂马了吗?金山杀出了木马

sisiliy 2010-9-5 08:25

论坛被挂马了吗?金山杀出了木马

[attach]263971[/attach]

sisiliy 2010-9-5 08:26

早上刚一登陆论坛就报警了,请斑竹师兄注意

弟子小九 2010-9-5 08:32

我用的是卡巴 还好正常[em15] [em08]  南无阿弥陀佛

ttbb 2010-9-5 08:42

末学现在用360的浏览器登陆,没有收到有问题的提示

刘欣 2010-9-5 09:09

我需要知道师兄是看到什么页面出现报警的。这样才好查找。
最好有报警的截图

净泉 2010-9-5 09:59

*** 作者被禁止或删除 内容自动屏蔽 ***

净泉 2010-9-5 09:59

*** 作者被禁止或删除 内容自动屏蔽 ***

刘欣 2010-9-5 10:31

用卡巴查了这个图片,没有毒啊

wmdj 2010-9-5 12:50

不知道论坛的web服务器配置情况。有可能是与服务器的安全配置,或者“Nginx + PHP CGI的一个可能的安全漏洞”有关。
转一篇文章供管理员参考
以下转载自[url]http://www.laruence.com/2010/05/20/1495.html[/url]


现在普遍的Nginx + PHP cgi的做法是在配置文件中, 通过正则匹配(Nginx(PHP/fastcgi)的PATH_INFO问题)设置SCRIPT_FILENAME, 今天小顿发现了一个这种方式的安全漏洞.

比如, 有[img]http://www.laruence.com/fake.jpg[/img], 那么通过构造如下的URL, 就可以看到fake.jpg的二进制内容:

   1.  
   2. [img]http://www.laruence.com/fake.jpg[/img]/foo.php

为什么会这样呢?

比如, 如下的nginx conf:

   1. location ~ \.php($|/) {
   2.      fastcgi_pass 127.0.0.1:9000;
   3.      fastcgi_index index.php;
   4.  
   5.      set $script $uri;
   6.      set $path_info "";
   7.      if ($uri ~ "^(.+\.php)(/.*)") {
   8.           set $script $1;
   9.           set $path_info $2;
  10.      }
  11.  
  12.      include fastcgi_params;
  13.      fastcgi_param SCRIPT_FILENAME $document_root$script;
  14.      fastcgi_param SCRIPT_NAME $script;
  15.      fastcgi_param PATH_INFO $path_info;
  16. }

通过正则匹配以后, SCRIPT_NAME会被设置为”fake.jpg/foo.php”, 继而构造成SCRIPT_FILENAME传递个PHP CGI, 但是PHP又为什么会接受这样的参数, 并且把a.jpg解析呢?

这就要说到PHP的cgi SAPI中的参数, fix_pathinfo了:

   1. ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's
   2. ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok
   3. ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting
   4. ; this to 1 will cause PHP CGI to fix it's paths to conform to the spec. A setting
   5. ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts
   6. ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED.
   7. cgi.fix_pathinfo=1

如果开启了这个选项, 那么就会触发在PHP中的如下逻辑:

   1. /*
   2. * if the file doesn't exist, try to extract PATH_INFO out
   3. * of it by stat'ing back through the '/'
   4. * this fixes url's like /info.php/test
   5. */
   6. if (script_path_translated &&
   7.      (script_path_translated_len = strlen(script_path_translated)) > 0 &&
   8.      (script_path_translated[script_path_translated_len-1] == '/' ||
   9. ....//以下省略.

到这里, PHP会认为SCRIPT_FILENAME是fake.jpg, 而foo.php是PATH_INFO, 然后PHP就把fake.jpg当作一个PHP文件来解释执行… So…

这个隐患的危害用小顿的话来说, 是巨大的.

对于一些论坛来说, 如果上传一个图片(实际上是恶意的PHP脚本), 继而构造这样的访问请求…

所以, 大家如果有用这种服务器搭配的, 请排查, 如果有隐患, 请关闭fix_pathinfo(默认是开启的).

详细漏洞信息, 请移步小顿的BLOG: 80Sec

另: 我认为这个和Nginx没啥关系, 不属于Nginx的漏洞. 是配置的问题, 现在到处都在说是Nginx的Bug, 不妥不妥.

wmdj 2010-9-5 22:40

[quote]原帖由 [i]净泉[/i] 于 2010-9-5 09:59 发表 [url=http://www.bskk.com/redirect.php?goto=findpost&pid=4564092&ptid=306905][img]http://www.bskk.com/images/common/back.gif[/img][/url]
特洛伊木马:
事件类型: 警告
事件来源: avast!
事件种类: Client
事件 ID: 90
日期:  2010-9-5
事件:  9:49:22
用户:  N/A
计算机: CHINA-USER
描述:
Sign of "JS:Agent-BU [Trj]" has been found in "[url=customavatars/138842.jpg]http://www.bskk.com/customavatars/[/url] ... [/quote]
customavatars目录好象是discuz论坛程序的自定义图片目录,只要是论坛会员均能上传头像图片,这是论坛的正常功能,但同样有可能被上传一个伪装成.jpg格式图片的木马。
不过服务器端一般都会设置好customavatars的执行权限等安全配置,所以就不会对服务器系统造成危害,问题不大。
比较担心的是,如果客户端电脑浏览嵌有此木马图片的页面,并且客户端电脑没有打好相应的系统补丁,以及做好防护时,浏览者就有可能被木马入侵而受害。
这种情况一般不是服务器端的问题,再专业的网站,也有可能被攻击者利用此方式,跨站攻击客户端电脑。所以每个浏览者自己也要多一些安全防范意识,做好本机电脑的安全措施。

云飞 2010-9-6 00:32

*** 作者被禁止或删除 内容自动屏蔽 ***

刘欣 2010-9-6 06:35

为了保险起见已经删除了这个图片

sisiliy 2010-9-6 07:09

[quote]原帖由 [i]刘欣[/i] 于 2010-9-6 06:35 发表 [url=http://www.bskk.com/redirect.php?goto=findpost&pid=4567025&ptid=306905][img]http://www.bskk.com/images/common/back.gif[/img][/url]
为了保险起见已经删除了这个图片 [/quote]

谢谢师兄

九合之台 2010-9-6 15:28

感谢师兄积极举报问题。

本次的病毒问题已经得到了有效处理,
如若再有任何问题请随时在版务版发帖。

谨祝法安
页: [1]
查看完整版本: 论坛被挂马了吗?金山杀出了木马