如何防止http TRACE 跨站攻击
如果一台 Web Server 支持 Trace 和 / 或 Track 方式,那么它一定存在跨站脚本漏洞,将有可能受到跨站攻击。 Trace 和 Track 是用来调试 Web 服务器连接的 HTTP 方式。
我们通常在描述各种浏览器缺陷的时候,把“Cross-Site-Tracing”(跨站攻击)简称为 XST。
攻击者可以利用此漏洞欺骗合法用户并得到他们的私人信息。
解决方案:禁用 Trace 和 / 或 Track 方式。
针对 Apache,可以借助 mod_rewrite 模块来禁止 HTTP Trace 请求。只要在各虚拟主机的配置文件里添加如下语句:
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
补充其他 Web Server 的解决方案:
1、Microsoft IIS
使用 URLScan 工具禁用 HTTP Trace 请求,或者只开放满足站点需求和策略的方式。
2、Sun ONE Web Server releases 6.0 SP2 或者更高的版本:
在 obj.conf 文件的默认 object section 里添加下面的语句:
Client method="TRACE"
AuthTrans fn="set-variable"
remove-headers="transfer-encoding"
set-headers="content-length: -1"
error="501"
/Client
网站免受攻击的防御方法
一、网站被攻击是可以防御的,可以通过一下方式:
(1)关闭无要的端口和服务;
(2)安装杀毒软件或者是防火墙来抵御攻击;
(3)定期修改账户密码,尽量设置的复杂些,不要使用弱密码;
(4)日常维护的时候要注意,不建议在服务器上安装过多的软件;
(5)及时修复漏洞,在有官方安全补丁发布时,要及时更新补丁;
(6)设置账户权限,不同的文件夹允许什么账号访问、修改等,同时,重要的文件夹建议增加密码;
(7)建议要定期备份数据,当有发现问题时,可以及时替换成正常的文件。
二、导致网站被攻击的因素
(1)外部因素
网站外部攻击一般都是DDoS流量攻击。DDoS攻击主要使用大量合法的请求占用大量的网络资源,为了实现网络瘫痪的目的,其攻击方式通常是通过服务器提交大量请求,使服务器超负荷,阻止用户访问服务器和服务和特定系统或个人的通讯。
DDoS流量攻击也包括CC攻击,CC主要用于攻击页面,CC攻击的原理是攻击者控制一些主机向其他服务器发送大量数据包,造成服务器资源耗尽,直至崩溃。简单地说,CC就是模拟多个用户的连续访问,这需要大量的数据操作,也就是不断地使用大量的CPU,这样服务器就永远不会有足够的连接来处理,直到由于网络拥塞而中断正常的访问。
(2)内部因素
主要是因为网站本身。对于企业网站来说,就是把网站作为一个门面,安全意识薄弱,这几乎是企业网站的一个普遍问题,安全意识不强,从某种意义上来说,网站受到了攻击。更可怕的是,大多数网站被攻击后都蒙混过关,没有足够的攻击意识,如真正严重的攻击损失是巨大的,然后想去修补,已经太迟了。
三、防止 DDoS 攻击的方式
(1)减少公开暴露
此前曝光的Booter站点或lizardstress ser(一个臭名昭著的LizardSquad的子站点)为特定目标提供付费的DDoS攻击,这些站点还将攻击伪装成合法的负载测试。该黑客组织在2014年圣诞节期间使用DDoS攻击微软的Xbox Live和索尼的PSN网络,导致许多玩家长时间没有娱乐活动。
对于企业来说,减少公开暴露是抵御DDoS攻击的有效方法。为PSN网络建立安全组和专用网络,及时关闭不必要的服务,可以有效防止网络黑客窥探和入侵系统。具体措施包括禁止访问主机非开放服务,限制同时打开的SYN连接的最大数量,限制对特定IP地址的访问,以及启用防火墙抗ddos属性。
(2)利用扩展和冗余
DDoS 攻击针对不同协议层有不同的攻击方式,因此我们必须采取多重防护措施。利用扩展和冗余可以防患于未然,保证系统具有一定的弹性和可扩展性,确保在 DDoS 攻击期间可以按需使用,尤其是系统在多个地理区域同时运行的情况下。任何运行在云中的虚拟机实例都需要保证网络资源可用。
微软针对所有的 Azure 提供了域名系统(DNS)和网络负载均衡,Rackspace 提供了控制流量流的专属云负载均衡。结合 CDN 系统通过多个节点分散流量,避免流量过度集中,还能做到按需缓存,使系统不易遭受 DDoS 攻击。
(3)充足的网络带宽保证
网络带宽直接决定了能抗受攻击的能力,假若仅仅有 10M 带宽的话,无论采取什么措施都很难对抗当今的 SYNFlood 攻击,至少要选择 100M 的共享带宽,最好的当然是挂在1000M 的主干上了。但需要注意的是,主机上的网卡是 1000M 的并不意味着它的网络带宽就是千兆的,若把它接在 100M 的交换机上,它的实际带宽不会超过 100M,再就是接在 100M 的带宽上也不等于就有了百兆的带宽,因为网络服务商很可能会在交换机上限制实际带宽为 10M,这点一定要搞清楚。
(4)分布式服务拒绝 DDoS 攻击
所谓的分布式资源共享服务器意味着数据和程序可以分布到多个服务器,而不是一个。分布式有利于任务在整个计算机系统中的分配和优化,克服了传统的集中式系统会导致中央主机资源紧张和响应瓶颈的缺点。分布式数据中心的规模越大,越有可能分散DDoS攻击的流量,越容易抵御攻击。
(5)实时监控系统性能
除了上述措施,实时监控系统性能也是防止DDoS攻击的重要手段。不合理的DNS服务器配置也会导致系统容易受到DDoS攻击。系统监控可以实时监控系统的可用性、API、CDN、DNS等第三方服务提供商的性能,监控网络节点,检查可能存在的安全风险,及时清理新的漏洞。由于骨干网节点的带宽较高,是黑客攻击的最佳场所,因此加强对骨干网节点的监控显得尤为重要。
如何防止模拟的http行为
// 用户名
$login = ‘username’;
//密码
$password = ‘password’;
//163的用户登陆地址
$url = “”;
//post 要提交的数据
$fields = “verifycookie=1style=16product=mail163username=”.$login.”password=”.$password.”selType=jyremUser=secure=on%B5%C7%C2%BC%D3%CA%CF%E4=%B5%C7%C2%BC%D3%CA%CF%E4″;
// 用来存放cookie的文件
$cookie_file = dirname(__FILE__).”/cookie.txt”;
// 启动一个CURL会话
$ch = curl_init();
// 要访问的地址
curl_setopt($ch, CURLOPT_URL, $url);
// 对认证证书来源的检查,0表示阻止对证书的合法性的检查。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// 从证书中检查SSL加密算法是否存在
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
//模拟用户使用的浏览器,在HTTP请求中包含一个”user-agent”头的字符串。
curl_setopt($ch, CURLOPT_USERAGENT, “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)”);
// 发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样。
curl_setopt($ch, CURLOPT_POST, 1);
//要传送的所有数据,如果要传送一个文件,需要一个@开头的文件名
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
//连接关闭以后,存放cookie信息的文件名称
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
// 包含cookie信息的文件名称,这个cookie文件可以是Netscape格式或者HTTP风格的header信息。
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
// 设置curl允许执行的最长秒数
//curl_setopt($ch, CURLOPT_TIMEOUT, 6);
// 获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
// 执行操作
$result = curl_exec($ch);
if ($result == NULL) {
echo “Error:
“;
echo curl_errno($ch) . ” – ” . curl_error($ch) . ”
“;
}
// 关闭CURL会话
curl_close($ch);
上面这个例子相对简单,因为用户名和密码可以明文传输,而且登陆也不需要验证码。qq.com的模拟登陆相对就麻烦多了,首先要突破验证码这关,然后由于 QQ密码是经过javascript加密后传输的,登陆界面也要模拟出来,下一篇文章再继续深入谈谈QQ的模拟登陆。
PHP网站要防哪几种常见方式攻击?
常见攻击方式:1、命令注入,2、eval注入,3、客户端脚本攻击,4、跨网站脚本攻击,5、SQL注入攻击,6、跨网站请求伪造攻击,7、Session 会话劫持,8、Session 固定攻击,9、HTTP响应拆分攻击,10、文件上传漏洞,11、目录穿越漏洞,12、远程文件包含攻击,13、动态函数注入攻击,14、URL攻击,15、表单提交欺骗攻击,16、HTTP请求欺骗攻击
http cc攻击怎么防御
1,流量攻击,就是我们常说的DDOS和DOS等攻击,这种攻击属于最常见的流量攻击中的带宽攻击,一般是使用大量数据包淹没一个或多个路由器、服务器和防火墙,使你的网站处于瘫痪状态无法正常打开。但是这种攻击成本都会很高.
2, CC攻击,也是流量攻击的一种,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。而CC攻击基本上都是针对端口的攻击,以上这两种攻击基本上都属于硬性流量的攻击.
如果服务器(网站)被入侵了,一般都是服务器或者网站存在漏洞,被黑客利用并提权入侵的,导致服务器中木马,网站被挂黑链,被篡改,被挂马。解决办法:如果程序不是很大,可以自己比对以前程序的备份文件,然后就是修复,或者换个服务器,最好是独立服务器。也可以通过安全公司来解决,国内也就Sinesafe和绿盟等安全公司 比较专业.
在针对网站的DDOS攻击中,使用http客户端验证技术防御,可以通过那种方式?
这个是防御CC攻击的。比如访问时要求先输入验证码才能进入网站。
0条大神的评论