黑客意志

XSS攻击、CC攻击原理讲解-附送在线测试平台

在线xss测试平台内有键盘记录、Xss、CC测试等多种功能,用于安全测试,切勿违法操作!

一、 CC攻击的原理:

  CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来消耗服务器资源的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。

二、CC攻击的种类:   

CC攻击的种类有三种,直接攻击,代理攻击,僵尸网络攻击,直接攻击主要针对有重要缺陷的 WEB 应用程序,一般说来是程序写的有问题的时候才会出现这种情况,比较少见。僵尸网络攻击有点类似于 DDOS 攻击了,从 WEB 应用程序层面上已经无法防御,所以代理攻击是CC 攻击者一般会操作一批代理服务器,比方说 100 个代理,然后每个代理同时发出 10 个请求,这样 WEB 服务器同时收到 1000 个并发请求的,并且在发出请求后,立刻断掉与代理的连接,避免代理返回的数据将本身的带宽堵死,而不能发动再次请求,这时 WEB 服务器会将响应这些请求的进程进行队列,数据库服务器也同样如此,这样一来,正常请求将会被排在很后被处理,就象本来你去食堂吃饭时,一般只有不到十个人在排队,今天前面却插了一千个人,那么轮到你的机会就很小很小了,这时就出现页面打开极其缓慢或者白屏。

三、CC攻击与DDOS的区别

1) 什么是DDoS攻击?

DDoS攻击就是分布式的拒绝服务攻击,DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式。单一的DoS攻击一般是采用一对一方式的,随着计算机与网络技术的发展,DoS攻击的困难程度加大了。于是就产生了DDoS攻击,它的原理就很简单:计算机与网络的处理能力加大了10倍,用一台攻击机来攻击不再能起作用,那么DDoS就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。常用的DDoS软件有:LOIC。

在这里补充两点:第一就是DDOS攻击不仅能攻击计算机,还能攻击路由器,因为路由器是一台特殊类型的计算机;第二是网速决定攻击的好和快,比如说,如果你一个被限制网速的环境下,它们的攻击效果不是很明显,但是快的网速相比之下更加具有攻击效果。

2)什么是CC攻击?

3)两者区别

DDoS是针对IP的攻击,而CC攻击的是服务器资源。

四、CC攻击的变异品种 慢速攻击

1)什么是慢速攻击

一说起慢速攻击,就要谈谈它的成名历史了。HTTP Post慢速DoS攻击第一次在技术社区被正式披露是2012年的OWASP大会上,由Wong Onn Chee 和 Tom Brennan共同演示了使用这一技术攻击的威力。
这个攻击的基本原理如下:对任何一个开放了HTTP访问的服务器HTTP服务器,先建立了一个连接,指定一个比较大的content-length,然后以非常低的速度发包,比如1-10s发一个字节,然后维持住这个连接不断开。如果客户端持续建立这样的连接,那么服务器上可用的连接将一点一点被占满,从而导致拒绝服务。
和CC攻击一样,只要Web服务器开放了Web服务,那么它就可以是一个靶子,HTTP协议在接收到request之前是不对请求内容作校验的,所以即使你的Web应用没有可用的form表单,这个攻击一样有效。
在客户端以单线程方式建立较大数量的无用连接,并保持持续发包的代价非常的低廉。实际试验中一台普通PC可以建立的连接在3000个以上。这对一台普通的Web server,将是致命的打击。更不用说结合肉鸡群做分布式DoS了。
鉴于此攻击简单的利用程度、拒绝服务的后果、带有逃逸特性的攻击方式,这类攻击一炮而红,成为众多攻击者的研究和利用对象。

2)慢速攻击的分类

发展到今天,慢速攻击也多种多样,其种类可分为以下几种:
Slow headers:Web应用在处理HTTP请求之前都要先接收完所有的HTTP头部,因为HTTP头部中包含了一些Web应用可能用到的重要的信息。攻击者利用这点,发起一个HTTP请求,一直不停的发送HTTP头部,消耗服务器的连接和内存资源。抓包数据可见,攻击客户端与服务器建立TCP连接后,每30秒才向服务器发送一个HTTP头部,而Web服务器再没接收到2个连续的rn时,会认为客户端没有发送完头部,而持续的等等客户端发送数据。

Slow body:攻击者发送一个HTTP POST请求,该请求的Content-Length头部值很大,使得Web服务器或代理认为客户端要发送很大的数据。服务器会保持连接准备接收数据,但攻击客户端每次只发送很少量的数据,使该连接一直保持存活,消耗服务器的连接和内存资源。抓包数据可见,攻击客户端与服务器建立TCP连接后,发送了完整的HTTP头部,POST方法带有较大的Content-Length,然后每10s发送一次随机的参数。服务器因为没有接收到相应Content-Length的body,而持续的等待客户端发送数据。

Slow read:客户端与服务器建立连接并发送了一个HTTP请求,客户端发送完整的请求给服务器端,然后一直保持这个连接,以很低的速度读取Response,比如很长一段时间客户端不读取任何数据,通过发送Zero Window到服务器,让服务器误以为客户端很忙,直到连接快超时前才读取一个字节,以消耗服务器的连接和内存资源。抓包数据可见,客户端把数据发给服务器后,服务器发送响应时,收到了客户端的ZeroWindow提示(表示自己没有缓冲区用于接收数据),服务器不得不持续的向客户端发出ZeroWindowProbe包,询问客户端是否可以接收数据。

使用较多的慢速攻击工具有:Slowhttptest和Slowloris。

3)哪些服务器易被慢速攻击

慢速攻击主要利用的是thread-based架构的服务器的特性,这种服务器会为每个新连接打开一个线程,它会等待接收完整个HTTP头部才会释放连接。比如Apache会有一个超时时间来等待这种不完全连接(默认是300s),但是一旦接收到客户端发来的数据,这个超时时间会被重置。正是因为这样,攻击者可以很容易保持住一个连接,因为攻击者只需要在即将超时之前发送一个字符,便可以延长超时时间。而客户端只需要很少的资源,便可以打开多个连接,进而占用服务器很多的资源。
经验证,Apache、httpd采用thread-based架构,很容易遭受慢速攻击。而另外一种event-based架构的服务器,比如nginx和lighttpd则不容易遭受慢速攻击。

经过多年的工作和站长圈子,我也对安全性有所了解。很多同学拿到安全测试报告以后一脸懵逼的不知道这些缩写字母都是什么意思。如何解决它,今天我向无安全基础的同学讲一讲这三类攻击是如何形成的。在了解了他的原理后,就可以进行防御了。由于每个同学使用的编程语言和框架都有很大不同,本文主要介绍了攻击形成的原理和防御方法,因此具体代码非常少,学生可以根据自己的实际情况编写代码

什么是CSRF攻击?

让我来谈谈这个词:CSRF(Cross-site request forgery)跨站请求伪造,这个词还是不了解,不用担心,我们先讲一个故事,一个真实的故事。那是在2009年,一名黑客利用CSRF通过Gmail的成功攻击成功窃取了好莱坞明星Vanessa Hudgens的邮箱。攻击很简单,她给她发了一封电子邮件,内容是图片,但这张照片有点特别。它是这样写的:当用户点击邮件加载图片时,他实际上访问了这样的链接:https://mail.google.com/mail?ui = 2&fw = true&fwe = my @ email.com,这个链接的功能是Gmail设置邮件转发,因此目标邮箱中的所有邮件都被转发到黑客指定的邮箱。有很多这样的例子。只需构造正确的Get链接,让浏览器发送Get请求。由于用户已经登录,因此它将携带正确的cookie并直接访问链接以实现相关功能。

在了解了原理之后,如何破解黑客的攻击?解决方案是向表单添加字段标记。黑客无法猜出已经改变的令牌,所以即使你添加一个UUID令牌,将它保存到服务器会话,黑客也不可能猜出随机令牌,就无法构造出能实现功能的链接了。

什么是XSS攻击?

首先,这个词实际上是CSS(Cross Site Scripting),但它与CSS同名。所以名字是XSS。跨站点脚本攻击类似于上面提到的CSRF。实际上,原则是将一段JavaScript代码注入网页。然后当其他用户访问该页面时,他们将运行黑客编写的JS代码来实现一些帐户控制。经典故事是:2011年6月28日,新浪微博被XSS攻击,大量用户自动转发微博、私信。自动关注用户,大量用户被莫名其妙地控制。因为可以使用JS代码代替用户单击按钮发送请求,所以损坏非常大。反射XSS攻击:搜索模块越常见,例如:https://lucklnk.com/Search?wd =攻击,当搜索链接正常时,应将wd参数传递给搜索词,并且然后在页面上显示当前搜索词,您可以使用此门户传递一些不同的数据,例如,我将其更改为:https://lucklnk.com/Search?wd =,页面将是使用JS代码注入类似地,也可以在没有用户感知的情况下在站点中插入其他站点的js文件,从而实现诸如控制用户和窃取cookie之类的操作,但是这样的链接必须由用户点击,并且将不要让所有用户都被招募。

存储XSS攻击:最后一次反射XSS攻击只能攻击点击该链接的某些用户。存储类型XSS可能会对所有用户带来攻击。经典的是用户签名栏。这个地方允许用户自定义。内容将存储在数据库中。当其他用户浏览他时,它将从数据库加载。如果恶意用户在其签名栏中注入了js参考,那么浏览他的所有人都将被Js控制,存储类型XSS的危险可能危及整个站的用户,非常危险。

XSS攻击

XSS攻击

在了解了原理之后,如何破解黑客的攻击?有很多方法,例如:关键字判断当有一个关键字如脚本、src来代替损坏;返回内容时进行转码,转码尖括号采用Unicode编码格式,如下面的截图:

Unicode编码格式

什么是SQL注入攻击?

SQL注入是一个非常古老的漏洞,现在并不常见。经验不足的人可以避免被SQL注入的风险。让我们首先看一个经典案例:用户经常在登录时写字。

$sql = “select * from user where username = ‘” + userName “” and passwd = ‘” +userPassword + “‘”;

在正常情况下会说明:select * from user where username =’admin’ and passwd =’mima’,但不幸的是黑客也会编写SQL语句,黑客在输入时输入用户名和密码:user named admin’ or 1 = 1 – ,密码为空,此时拼接出的SQL是:从用户中选择*,其中username =’admin’ or 1 = 1 – ‘ and passwd =”

你看到了什么? 1 = 1总是成立,后者 – 将注释掉以下SQL,admin用户将成功登录,原理就是这么简单。

在了解了原理之后,如何破解黑客的注入攻击?最常见的是在业务逻辑层中执行关键字检查。如果包含SQL的关键字,例如 *、or、select、delete等等关键字就进行替换;最有效的仍然是使用SQL变量进行查询,避免使用字符串来拼接SQL字符串。

黑客社区:Ahacker.org

本文部分参考于vi586.com/tool/643.html

赞(0)
分享到: 更多 (0)

黑客技术,黑客教程,黑客软件,黑客入门,黑客工具,黑客平台,黑客下单,渗透测试,CTF,菠菜,源码,暗网,安卓,物联网安全,网络安全周,国家安全,企业安全,盗QQ号,正规黑客,接单黑客,SRC测试,黑客修改,黑客交流,黑客追款,APP渗透,黑客系统

联系我们联系我们