您的位置:首页 > 理论基础 > 计算机网络

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

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

发现异常

2013-6-2208:56

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





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

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





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

服务器管理员的分析文档

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


2013-06-2114:03:11W3SVC129115.239.252.29GET/bbs/data/attachment/forum/201306/19/102624mwsyvybzk7g5szyw.png-80-115.236.84.185Mozilla/5.0+(Windows+NT+6.2;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/27.0.1453.116+Safari/537.3630400141153462

2013-06-2114:03:11W3SVC129115.239.252.29GET/bbs/data/attachment/forum/201306/19/102624mwsyvybzk7g5szyw.png-80-222.81.215.230Mozilla/5.0+(Windows+NT+5.1)+AppleWebKit/537.1+(KHTML,+like+Gecko)+Chrome/21.0.1180.89+Safari/537.130400141119495

2013-06-2114:03:11W3SVC129123.157.149.29POST/demo/upload/635074464204358063_ice.aspxaction=edit&src=D%3a%5cHostingSpaces%5cfineuico%5cfineui.s1.kingidc.net%5cwwwroot%5c%5cindex.html80-222.136.235.23Mozilla/5.0+(compatible;+MSIE+9.0;+Windows+NT+6.1;+Trident/5.0)2000010497487381008

2013-06-2114:03:11W3SVC129115.239.252.29GET/bbs/data/attachment/forum/201306/19/102624mwsyvybzk7g5szyw.png-80-222.81.215.230Mozilla/5.0+(Windows+NT+5.1)+AppleWebKit/537.1+(KHTML,+like+Gecko)+Chrome/21.0.1180.89+Safari/537.130400141116198

2013-06-2114:03:11W3SVC129115.239.252.29GET/bbs/data/attachment/forum/201306/19/102624mwsyvybzk7g5szyw.png-80-119.96.106.251Mozilla/5.0+(Windows+NT+6.1;+rv:6.0.1)+Gecko/20100101+Firefox/6.02000014241119067

2013-06-2114:03:11W3SVC129115.239.252.29GET/bbs/data/attachment/forum/201306/19/102624mwsyvybzk7g5szyw.png-80-222.81.215.230Mozilla/5.0+(Windows+NT+5.1)+AppleWebKit/537.1+(KHTML,+like+Gecko)+Chrome/21.0.1180.89+Safari/537.1304001411161100





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

2013-06-2114:03:11W3SVC129123.157.149.29POST/demo/upload/635074464204358063_ice.aspxaction=edit&src=D%3a%5cHostingSpaces%5cfineuico%5cfineui.s1.kingidc.net%5cwwwroot%5c%5cindex.html80-222.136.235.23Mozilla/5.0+(compatible;+MSIE+9.0;+Windows+NT+6.1;+Trident/5.0)2000010497487381008

显然,这个人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的官方示例,只允许用户上传图片文件,而不能上传任何其他文件。

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

protectedreadonlystaticList<string>VALID_FILE_TYPES=newList<string>{"jpg","bmp","gif","jpeg","png"};

[code]
protectedstaticboolValidateFileType(stringfileName)

{

stringfileType=String.Empty;

intlastDotIndex=fileName.LastIndexOf(".");

if(lastDotIndex>=0)

{

fileType=fileName.Substring(lastDotIndex+1).ToLower();

}


if(VALID_FILE_TYPES.Contains(fileType))

{

returntrue;

}

else

{

returnfalse;

}

}

[/code]


protectedvoidbtnSubmit_Click(objectsender,EventArgse)

[code]{
if(filePhoto.HasFile)

{

stringfileName=filePhoto.ShortFileName;


if(!ValidateFileType(fileName))

{

Alert.Show("无效的文件类型!");

return;

}



fileName=fileName.Replace(":","_").Replace("","_").Replace("\\","_").Replace("/","_");

fileName=DateTime.Now.Ticks.ToString()+"_"+fileName;


filePhoto.SaveAs(Server.MapPath("~/upload/"+fileName));



labResult.Text="<p>用户名:"+tbxUseraName.Text+"</p>"+

"<p>头像:<br/><imgsrc=\""+ResolveUrl("~/upload/"+fileName)+"\"/></p>";



//清空表单字段

SimpleForm1.Reset();

}

}

[/code]

我还是大意了!

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

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

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

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





可以看到如下过程:

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

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

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

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

结论

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

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

喜欢这篇文章,就不要忘记点击页面右下角的【推荐】按钮哦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
章节导航