原帖地址:http://www.cnblogs.com/sanshi/p/3150639.html

在开始正文之前,请帮忙为当前 排名前 10 唯一的 .Net 开源软件 FineUI  投一票:

投票地址: https://code.csdn.net/2013OSSurvey/gitop/codevote/vote_num

目前排名前 10 ,只有 FineUI 是 .Net 项目,也希望大家能够多多支持这唯一的 .Net 项目!!!!!

=======================

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

发现异常

2013-6-22 08:56

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

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

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

原来是 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

这是我根据文件修改时间(日志内使用的是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/这个目录内发现了个马,,,

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

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

我只有继续分析那个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文件都可以,而且穿了后,文件路径就在下放输出的图片路径内可以获取:

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

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

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

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

有道德的黑客

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

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

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

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

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

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

有道德的黑客:ice

修复被攻击的网站

接下来,我的做法是:

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: }

<style><!--.csharpcode, .csharpcode pre{font-size: small;color: black;font-family: consolas, "Courier New", courier, monospace;background-color: #ffffff;/*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt {background-color: #f4f4f4;width: 100%;margin: 0em;}.csharpcode .lnum { color: #606060; }--></style>

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: }

<style><!--.csharpcode, .csharpcode pre{font-size: small;color: black;font-family: consolas, "Courier New", courier, monospace;background-color: #ffffff;/*white-space: pre;*/}.csharpcode pre { margin: 0em; }.csharpcode .rem { color: #008000; }.csharpcode .kwrd { color: #0000ff; }.csharpcode .str { color: #006080; }.csharpcode .op { color: #0000c0; }.csharpcode .preproc { color: #cc6633; }.csharpcode .asp { background-color: #ffff00; }.csharpcode .html { color: #800000; }.csharpcode .attr { color: #ff0000; }.csharpcode .alt {background-color: #f4f4f4;width: 100%;margin: 0em;}.csharpcode .lnum { color: #606060; }--></style>

我还是大意了!

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

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

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

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

可以看到如下过程:

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

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

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

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

结论

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

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

喜欢这篇文章,就不要忘记点击页面右下角的【推荐】按钮哦。

本文链接:http://www.cnblogs.com/sanshi/p/3150639.html,转载请注明。

记 FineUI 官方论坛所遭受的一次真实网络攻击!做一个像 ice 有道德的黑客! - 三生石上...相关推荐

  1. “富勒”官网软件感染网银木马 360独家拦截 - 卫星杂谈 - 360官方论坛

    "富勒"官网软件感染网银木马 360独家拦截 - 卫星杂谈 - 360官方论坛 "富勒"官网软件感染网银木马 360独家拦截 - 卫星杂谈 - 360官方论坛 ...

  2. 圣思园官方论坛正式上线,众板块版主火热招募中,欢迎围观

    圣思园官方论坛正式上线,众板块版主火热招募中,欢迎围观 地址:http://www.shengsiyuan.net

  3. Android 开发 官方 论坛

    官方论坛:  https://groups.google.com/forum/ Android 官方bug tracking : http://code.google.com/p/android/is ...

  4. PHP官方网站,php官方论坛,中文函数手册下载

    每个人都知道php.net,我们或早或晚的都会来到这里并不断的访问它.它是PHPer的主要参考网站,拥有大量有用的信息,但是这些信息却不是那么显而易见. 比较有用的官方PHP资源: PHP官方函数手册 ...

  5. MIUI官方论坛 - 发烧友必刷的Android ROM

    MIUI官方论坛 - 发烧友必刷的Android ROM MIUI官方论坛 - 发烧友必刷的Android ROM 推荐版最新版本:2.8.3 (相关说明) 更新日期:2012年08月03日 温馨提示 ...

  6. TensorRT+ int8官方论坛中有趣的讨论总结

      最近学习通过NVIDIA的显卡进行TensorRT加速及int8校准,遇到很多问题,准备认真学习下.关于int8校准的理论在论坛上已有很多介绍,这里对官方论坛中感觉有趣的讨论记录一下,便于后期翻阅 ...

  7. 超级玩家官方论坛android版,超级玩家官方论坛

    超级玩家官方论坛是一款论坛聊天软件,软件内拥有超多热门的电竞游戏版块,例如Dota2.英雄联盟等,软件内拥有众多大神玩家,玩家可以在论坛上进行提问,更有大神解答你的众多游戏疑惑,让你可以更快的理解游戏 ...

  8. 超级玩家官方论坛android版,sg超级玩家app,sg超级玩家官方论坛客户端app预约 v1.0 - 浏览器家园...

    sg超级玩家官方论坛客户端app软件这一款以超级英雄为主题的区块链项目,在这里可以实现你的英雄梦想,还能和网友们一起进行日常挖矿,给自己带来更多的收入,整个软件游戏里面设置了非常多漫威的英雄,你喜欢的 ...

  9. 超级兔子官方论坛(bbs.pctutu.com)又被挂马

    动物家园计算机安全咨询中心( www.kingzoo.com )反病毒斗士报: 北京时间2010年6月8日晚上10点,接到用户举报说超级兔子官方论坛(bbs.pctutu.com)又被挂马,再踩了点, ...

最新文章

  1. 【419天】跃迁之路——程序员高效学习方法论探索系列(实验阶段176-2018.03.31)...
  2. Windows 系统下Git安装图解
  3. 文献记录(part46)--Building Outlier Detection Ensembles by Selective Parameterization of ...
  4. 学姐百度实习面经(轻松拿offer)
  5. 财务金融类网页及app界面设计模板
  6. sql 列求和_图解面试题:累计求和问题如何分析?
  7. 《穷爸爸,富爸爸》读书笔记
  8. Python Flask Web 第二课 —— 请求-响应循环
  9. 如何完全卸载oracle和删除oracle在注册表中的注册信息
  10. Java SecureRandom 简单生成随机正整数
  11. Xslt中的Xsl:copy与Xsl:copy-of的区别
  12. Python教学视频(五)顺序结构练习
  13. fork函数与execve函数
  14. iOS测试之移动App测试指南
  15. Edge浏览器无法登录Microsoft账户
  16. 我的Mac键盘失灵了(u,i,o,j,k,l,k,m无效了)-- Mac鼠标键的开启和关闭
  17. top 100 percent
  18. 常用字写法(粤语)--(1)
  19. LINUX保留原分区,linux 分区扩展 (保留数据)
  20. Git和Github的使用

热门文章

  1. [Brainfuck]基于Whitespace语言保密思想的BF语句构建-(无字天书)
  2. 骨灰级SSM 和spring boot大全(二)
  3. 数字验证码的识别(一)
  4. 解决windows10错误:“ 创建 TLS 客户端凭据时发生致命错误。 内部错误状态为 10013”
  5. 手机刷linux影音,在优麒麟/Ubuntu上构建麒麟影音snap包
  6. 360显示服务器内存,为什么我的电脑每次开机360显示内存占用了70以上,而且电脑蛮卡? 爱问知识人...
  7. 缺陷管理第五篇:4个步骤优化您的缺陷管理流程
  8. 导购网站“什么值得买”如何做内容运营?
  9. 零成本用IIS实现做个表白OR情侣纪念网站当做礼物,公网可访问
  10. 如何搭建Wish、eBay、美客多 一天 成号测评环境系统?