文档章节

记 FineUI 官方论坛所遭受的一次真实网络攻击!做一个像 ice 有道德的黑客!

三生石上
 三生石上
发布于 2013/06/23 21:57
字数 1851
阅读 111
收藏 0

可能是最近在参加 CSDN 举行的那个评选,FineUI 论坛吸引了一大批围观群众,也吸引了一些黑客的目光,本文会按时间顺序记录下 FineUI 论坛所遭受的这次网络攻击,期望能对其他站长有所帮助。

 

发现异常

2013-6-22 08:56

早上起来,像往常一样打开 FineUI 官网论坛(http://fineui.com/bbs/ )去发现进不去,还以为服务器又受到 DDOS 攻击(因为前两天服务器连续受到攻击,也出现偶尔连不上的情况),就赶紧上 QQ 准备联系服务器管理员,却发现服务器管理员已经给我留言:

snap260

 

还没看完留言就已经头皮发麻,真的是受到攻击了,莫非是最近选票排的靠前被盯上了(后来发现不是这样的),不由得一阵胡思乱想,数据库数据有没有丢失啊….

 

冷静下来,看下那张查出木马的截图:

QQ图片20130623091333

 

原来是 php 木马,那这些文件又是如何上传到服务器的呢?

 

服务器管理员的分析文档

这次要真的感谢服务器管理员 №风影㊣ 和他维护的服务器资源 http://www.kingidc.net/,他不但帮我暂时阻止了黑客的进一步攻击,而且详细分析了如何受到攻击,如下部分来自管理员的分析文档:

2013-06-21 14:03:11 W3SVC129 115.239.252.29 GET /bbs/data/attachment/forum/201306/19/102624mwsyvybzk7g5szyw.png - 80 - 115.236.84.185 Mozilla/5.0+(Windows+NT+6.2;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/27.0.1453.116+Safari/537.36 304 0 0 141 1534 62

2013-06-21 14:03:11 W3SVC129 115.239.252.29 GET /bbs/data/attachment/forum/201306/19/102624mwsyvybzk7g5szyw.png - 80 - 222.81.215.230 Mozilla/5.0+(Windows+NT+5.1)+AppleWebKit/537.1+(KHTML,+like+Gecko)+Chrome/21.0.1180.89+Safari/537.1 304 0 0 141 1194 95

2013-06-21 14:03:11 W3SVC129 123.157.149.29 POST /demo/upload/635074464204358063_ice.aspx action=edit&src=D%3a%5cHostingSpaces%5cfineuico%5cfineui.s1.kingidc.net%5cwwwroot%5c%5cindex.html 80 - 222.136.235.23 Mozilla/5.0+(compatible;+MSIE+9.0;+Windows+NT+6.1;+Trident/5.0) 200 0 0 10497 48738 1008

2013-06-21 14:03:11 W3SVC129 115.239.252.29 GET /bbs/data/attachment/forum/201306/19/102624mwsyvybzk7g5szyw.png - 80 - 222.81.215.230 Mozilla/5.0+(Windows+NT+5.1)+AppleWebKit/537.1+(KHTML,+like+Gecko)+Chrome/21.0.1180.89+Safari/537.1 304 0 0 141 1161 98

2013-06-21 14:03:11 W3SVC129 115.239.252.29 GET /bbs/data/attachment/forum/201306/19/102624mwsyvybzk7g5szyw.png - 80 - 119.96.106.251 Mozilla/5.0+(Windows+NT+6.1;+rv:6.0.1)+Gecko/20100101+Firefox/6.0 200 0 0 14241 1190 67

2013-06-21 14:03:11 W3SVC129 115.239.252.29 GET /bbs/data/attachment/forum/201306/19/102624mwsyvybzk7g5szyw.png - 80 - 222.81.215.230 Mozilla/5.0+(Windows+NT+5.1)+AppleWebKit/537.1+(KHTML,+like+Gecko)+Chrome/21.0.1180.89+Safari/537.1 304 0 0 141 1161 100

clip_image001

这是我根据文件修改时间(日志内使用的是UTC时间),在日志内找到的相关操作:

2013-06-21 14:03:11 W3SVC129 123.157.149.29 POST /demo/upload/635074464204358063_ice.aspx action=edit&src=D%3a%5cHostingSpaces%5cfineuico%5cfineui.s1.kingidc.net%5cwwwroot%5c%5cindex.html 80 - 222.136.235.23 Mozilla/5.0+(compatible;+MSIE+9.0;+Windows+NT+6.1;+Trident/5.0) 200 0 0 10497 48738 1008

显然,这个人222.136.235.23在您站点内利用上传功能上传进了一个aspx木马篡改了你的首页文件。

/demo/upload/635074464204358063_ice.aspx

我意外发现,在/demo/upload/这个目录内发现了个马,,,

clip_image003

Upload这个目录内,有好多好多文件。。。可能是人家体验程序的时候上传上来的。

clip_image005

这几天的日志有点异常,不知道是不是有人在做坏事。。。。

我只有继续分析那个IP的访问日志了,将日志导入EXCEL然后筛选:

逐行查看,发现在他之前一直在 :/demo/form/fileupload.aspx 这个页面来回上传文件。

从 338行 post了一个数据之后,就成功将他aspx木马传入了你的upload目录内:

13:08:09

POST

/demo/form/fileupload.aspx

13:08:13

GET

/demo/upload/635074456895620028_safer.aspx

13:08:16

GET

/demo/upload/635074456895620028_safer.aspx

我也随之测试了一下 /demo/form/fileupload.aspx 这个页面,上传php,aspx文件都可以,而且穿了后,文件路径就在下放输出的图片路径内可以获取:

clip_image006

我将我的分析和日志导出结果发给你,望能尽快修复(验证上传文件类型)。这个可能是之前上传php木马发包的一个入口。

为了防止有人继续用这个漏洞传入木马或者篡改数据,我暂时帮你重命名了。。

/demo/form/fileupload.aspx -> /demo/form/fileupload__.aspx

clip_image008

你看这个人的IP,应该就是我上面提到的IP了。他应该已经拿到了MYSQL的密码,进入了数据库修改了权限了。

 

有道德的黑客

经过上面的分析,已经很明显了,黑客的入侵途径大致如下:

1. 通过 http://fineui.com/demo/#/demo/form/fileupload.aspx 上传一个木马 php 文件;

2. 通过此木马获取论坛权限并篡改首页;

3. 将自己设为论坛管理员。

 

其实我最担心的是他拿到管理员权限后会不会一下子把用户全删掉,或者做其他一些批量操作,这就麻烦了。

 

后来发现这位黑客没有这么做,仅仅是把自己改成管理员爽了一把,我的心中不由的升气一丝莫名的欣慰,感觉也没那么担心了,因为这是一位:

 

有道德的黑客:ice

 

clip_image008

 

 

修复被攻击的网站

接下来,我的做法是:

1. 禁止用户 ice 登陆论坛;

2. 修改 FineUI 的官方示例,只允许用户上传图片文件,而不能上传任何其他文件。

 

新增的限制文件上传的代码如下:

 1: protected readonly static List<string> VALID_FILE_TYPES = new List<string> { "jpg", "bmp", "gif", "jpeg", "png" };
 2:  
 3: protected static bool ValidateFileType(string fileName)
 4: {
 5:  string fileType = String.Empty;
 6:  int lastDotIndex = fileName.LastIndexOf(".");
 7:  if (lastDotIndex >= 0)
 8:  {
 9:  fileType = fileName.Substring(lastDotIndex + 1).ToLower();
 10:  }
 11:  
 12:  if (VALID_FILE_TYPES.Contains(fileType))
 13:  {
 14:  return true;
 15:  }
 16:  else
 17:  {
 18:  return false;
 19:  }
 20: }
 1: protected void btnSubmit_Click(object sender, EventArgs e)
 2: {
 3:  if (filePhoto.HasFile)
 4:  {
 5:  string fileName = filePhoto.ShortFileName;
 6:  
 7:  if (!ValidateFileType(fileName))
 8:  {
 9:  Alert.Show("无效的文件类型!");
 10:  return;
 11:  }
 12:  
 13:  
 14:  fileName = fileName.Replace(":", "_").Replace(" ", "_").Replace("\\", "_").Replace("/", "_");
 15:  fileName = DateTime.Now.Ticks.ToString() + "_" + fileName;
 16:  
 17:  filePhoto.SaveAs(Server.MapPath("~/upload/" + fileName));
 18:  
 19:  
 20:  labResult.Text = "<p>用户名:" + tbxUseraName.Text + "</p>" +
 21:  "<p>头像:<br /><img src=\"" + ResolveUrl("~/upload/" + fileName) + "\" /></p>";
 22:  
 23:  
 24:  // 清空表单字段
 25:  SimpleForm1.Reset();
 26:  }
 27: }

 

 

我还是大意了!

可能是发现这位 ice 很有善意,我居然忘记修改可能已经被攻破的管理员密码。直到晚上我才发现这回事!

 

因为 ice 有把自己设为了管理员,并发了一个帖子告诉我“密码是12345”,很遗憾我把这个帖子给删了,要不然贴出来也博大家一笑!

 

很无奈的用别人告诉我的密码 12345 登陆我自己管理的网站,重新把 ice 的所有资料删除。当时我还不知道 ice 是怎么重新获取管理员权限的,郁闷的一屁!

 

后来通过 Discuz 的日志,我发现了自己的这个错误:

snap261

 

可以看到如下过程:

1. 早上 10:12,我登陆后将 ice 设为禁止访问;

2. 仅仅过去一个小时 11::16,ice 用我的账号登陆解禁 ice,并将 ice 设为管理员;

3. 我在晚上 22:24,才发现这个问题,并重新删除 ice 的所有资料。

 

之后,我修改了所有相关密码!

 

 

结论

首先是要保证自己的代码没有漏洞,涉及用户输入和用户上传的地方一定要特别注意!

其次是希望每一个黑客都能向 ice 学习,做一个有道德的黑客(自己爽一把没关系,不要破坏别人的数据)!

 

 

© 著作权归作者所有

三生石上

三生石上

粉丝 44
博文 21
码字总数 42096
作品 4
合肥
程序员
私信 提问
#CSDN刷票门# 有没有人在恶意刷票?CSDN请告诉我!用24小时监控数据说话!

特别声明: 此次并非针对其他参与2013中国十大优秀开源项目的同行,体系有漏洞要谴责的是制定规则并从中获益但不作为的权贵,草根们制定不了规则但可发现和利用漏洞,这是程序员应有反叛精神...

三生石上
2013/06/26
1K
18
FineUI 将不再内置 ExtJS (严格遵守 ExtJS 的开源规则)

从下个版本起,FineUI 将不再内置 ExtJS ,不过我会提供说明如何使用 ExtJS(并单独提供精简版的 ExtJS 包供论坛用户下载),现有的程序升级到新版本将不受影响(只需要将精简版的 extjs 文件...

三生石上
2013/06/01
2.5K
2
FineUIPro 3.6 发布,ASP.NET 控件库

FineUI(专业版)自从 2014-07-30 发布第一个版本以来,3 年来已经持续更新了 25 个版本,我们的坚持有目共睹,同时也受到了 200 家企业的青睐和信任,感谢一路有你。 FineUI(专业版) v3...

三生石上
2017/06/23
1K
7
如何优化 FineUI 控件库的性能,减少 80% 的数据上传量!

不管是第一次使用 FineUI 控件库的网友,还是有着 3 年以上使用经验的网友,都对 FineUI 的简单印象深刻。当然,“一切为了简单”也是 FineUI 一句响亮的口号,不仅如此,一个开源项目要想立...

三生石上
2012/12/21
168
0
AppBoxPro v2.0 发布,通用权限管理框架

AppBoxPro v2.0 在线演示上线了(源代码同时提供下载)! http://fineui.com/appboxpro/ 更新记录: 注: AppBoxPro公开全部源代码,基于Apache License 2.0 开源。 FineUI(开源版)公开全部...

三生石上
2015/03/10
6.9K
9

没有更多内容

加载失败,请刷新页面

加载更多

使用原生css+js+html实现打印A4纸张的功能页面

有时候我们需要使用html+css实现打印A4纸张的功能页面,以下代码实现 <!DOCTYPE html><html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatibl......

b0cloud
20分钟前
2
0
读组件化之MGJRouter源码第二次的收获与思考

上一次我们写好了一个自定义的 路由类 ,然后我们来制作自己的 库 ,可以用来被 pod 引入 : 库的制作参考:https://www.jianshu.com/p/928d2ab053be 以下是我创建的: 利用上篇提到的 ,组件...

T型人才追梦者
21分钟前
1
0
spring cache、ehcache的使用及集成

项目中需要加缓存,故学习了 1、spring cache、ehcache的使用及集成 2、缓存的命中率等统计数据 一、spring cache 1、概述 Spring 3.1 引入了基于注解(annotation)的缓存(cache)技术 2、...

qkKing
22分钟前
3
0
Windows 10上源码编译Poco并编写httpserver和tcpserver | compile and install poco cpp library on windows

本文首发于个人博客https://kezunlin.me/post/9587bb47/,欢迎阅读! compile and install poco cpp library on windows Series guide to compile and install poco cpp library on windows g......

kezunlin
23分钟前
2
0
if-else-if-else与switch的区别

if-else-if-else: 适合分支较少 判断条件类型不单一 支持取 boolean 类型的所有运算 满足条件即停止对后续分支语句的执行 switch: 适合分支较多 判断条件类型单一,JDK 1.7 之前仅支持 in...

ConstXiong
23分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部