记 FineUI 官方论坛所遭受的一次真实网络攻击!做一个像 ice 有道德的黑客!
在开始正文之前,请帮忙为当前 排名前 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: }
- 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 的日志,我发现了自己的这个错误:
可以看到如下过程:
1. 早上 10:12,我登陆后将 ice 设为禁止访问;
2. 仅仅过去一个小时 11::16,ice 用我的账号登陆解禁 ice,并将 ice 设为管理员;
3. 我在晚上 22:24,才发现这个问题,并重新删除 ice 的所有资料。
之后,我修改了所有相关密码!
结论
首先是要保证自己的代码没有漏洞,涉及用户输入和用户上传的地方一定要特别注意!
其次是希望每一个黑客都能向 ice 学习,做一个有道德的黑客(自己爽一把没关系,不要破坏别人的数据)!
喜欢这篇文章,就不要忘记点击页面右下角的【推荐】按钮哦。
记 FineUI 官方论坛所遭受的一次真实网络攻击!做一个像 ice 有道德的黑客!的更多相关文章
- FineUI官方论坛出现空白页的解决办法!
问题描述:访问FineUI官方论坛或者QQ互联登陆时,可能会出现空白页面! 解决办法:清空站点Cookie! 下面分别介绍Chrome.Firefox.IE下清空站点Cookie的方法: ...
- JQUERY MOBILE 中文API站 和 官方论坛
中文API站:http://www.jqmapi.com/api1.2/preview/quickstartquide.html 官方论坛:http://bbs.phonegapcn.com/foru ...
- 【新提醒】N820 N821 android 4.2 V1.1版 - 大V综合交流区 - 360官方论坛
http://bbs.360safe.com/forum.php?mod=viewthread&tid=3088815&extra=page%3D1%26filter%3Dtypeid ...
- PHPthinking官方论坛
PHPthinking官方论坛正式上线一个月!眼下.我们已经有数百个固定用户的.论坛发展迅速,所有份额一些技术贴,我们希望,其他许多用户增加来,创建学习.交流更方便.丰富的内容PHP座谈会! PHPt ...
- PHPthinking官方论坛招募版主
时间飞逝.就在昨天,我们PHPthinking的官方论坛刚刚上线了我们自己的论坛! 欢迎大家注冊账号,活跃在论坛的大家庭中,我们会及时关注论坛公布的全部内容.在开发学习的过程中,遇到的不论什么问题,有 ...
- DISCUZ官方论坛模仿开发日志(二)
接上一次日志:http://www.cnblogs.com/gcs1995/p/4091159.html 从上次写下项目简要分析到现在差不多两个月时间了,这两个月时间学习了很多新技术: 数据库技术: ...
- 阿里云2003服务器VPN搭建[转自阿里云官方论坛]
VPN可以应用在很多方面,很多公司只是拿它接入公司内部网络,但我们做安全的需要的是利用它做跳板上网(还有提高网速).这篇文章主要是针对这种应用来说的,包括公网VPN的配置. 服务器配置 前奏:关闭防火 ...
- 关于iOS元旦http,https的规定,官方论坛回应
先贴原文地址:https://forums.developer.apple.com/thread/48979#146140 原文: eskimoAug 2, 2016 4:17 AM(in respo ...
- TI技术官方论坛
https://e2echina.ti.com/question_answer/dsp_arm/c6000_dsp/f/32/t/172279
随机推荐
- EasyUi 改变 selelct 的 下拉内容 div 的高度
直接上 效果图: 修改之后的 滚动条高度: 代码: 源代码下载
- C#中去掉表中重复的数据
/// <summary> /// 去掉表中重复的数据 int /// </summary> /// <param name="SourceTable&quo ...
- Oracle global database name与db link的纠缠关系
ORACLE数据库中Global Database Name与DB LINKS的关系还真是有点纠缠不清,在说清楚这个关系前,我们先来了解一下Global Database Name的概念 Global ...
- 数据泵如何生成导出文件的DDL脚本
在使用exp/imp时,生成对应dumpfile文件的DDL脚本非常容易,在使用命令imp时,添加参数show, show=y表示展示imp导入的时候,输出相关DDL语句(不包括insert语句),而 ...
- 编译hadoop2.6.0
具体情况比较曲折:hadoop2.6.0编译不过 错误如下: 这个kms模块始终编译不过,最后得出结论国内的aliyun maven仓库有问题, 在编译hadoop2.2.0 可以通过,因为这个版本的 ...
- 对最近的RTP和H264学习进行总结整理-04.20
虽然还是没有搞出来,但总感觉快了哈哈(哪来的自信) 1.RTP协议接受数据 #region 1-RTP协议变量声明 RTPSession session; RTPReceiver receiver; ...
- Servlet/JSP-06 Session
一. 概述 Session 指客户端(浏览器)与服务器端之间保持状态的解决方案,有时候也用来指这种解决方案的存储结构. 当服务器端程序要为客户端的请求创建一个 Session 时,会首先检查这个请求里 ...
- seq
Linux 中seq 命令的用法 用于产生从某个数到另外一个数之间的所有整数 用法: seq [选项]... 尾数 或:seq [选项]... 首数 尾数 或:seq [选项]... 首数 增量 尾数 ...
- php中的curl使用入门教程和常见用法实例
摘要: [目录] php中的curl使用入门教程和常见用法实例 一.curl的优势 二.curl的简单使用步骤 三.错误处理 四.获取curl请求的具体信息 五.使用curl发送post请求 六.文件 ...
- java utf-8文件处理bom头
UTF? UTF,是UnicodeTransformationFormat的缩写,意为Unicode转换格式. 即怎样将Unicode定义的数字转换成程序数据.utf是对Unicode的一种编码格式化 ...