实战:一次失败的WEB攻击试验,欢迎高手补充

首先声明:这个文章我描述的是一次比较失败的WEB攻击试验,理论基础是一次在网上看到的一篇关于"慢攻击"的概念,那什么叫慢攻击呢?web

在解释这个"慢攻击"概念以前,先讲下HTTP的请求报文头,HTTP的请求报文头是以\r\n\r\n为结束的,服务器在接收到这个标志符以后,才认为请求报文结束,转入作相应的WEB处理。这个"慢攻击"就是利用这个机制。tomcat

攻击方式:首先一个客户端向服务器发起HTTP请求后,不作大规模的数据包发送,但就是一直不发送\r\n\r\n这个结束符,而且客户端每隔一段时间又向服务器发送小量的参数数据包,如&a=1。此时服务器一边在等待客户端输入参数结束符,另一边因为每隔一段时间又收到数据包,不认为客户端断线。长此以往,就把服务器拖死了。从另以方面讲,因为发送的数据包很少,而且一直没有输入结束符,在web服务器的访问日志文件又看不到访问记录,严重的来说,服务器怎么死的都不知道。服务器

可是,测试的结果离预期太遥远了,如下是攻击步骤:网络

我写的代码有点乱,就不贴出来献丑了,基本的测试方式是:socket

一、每隔线程中开启一批socket链接到目标服务器(一个线程中的socket数由启动脚本参数设置),先调用这些socket向服务器发正常的HTTP请求串,而后在线程中每隔几秒钟调用这些socket向服务端写参数数据;工具

二、每一个进程中开启多个线程,每隔进程开启的线程数由启动脚本参数设置;测试

三、编写一个批量启动进程脚本,一个脚本启动的进程数由命令行输入参数设置;spa

四、 一切条件具有了,拿内网的一台weblogic11g开涮,从weblogic控制台看,socket的链接已经超过3万,但对weblogic来讲好像没啥事。后来又验证了weblogic的另一个特性:无论是输入仍是输出,链接超过必定的时间(输入默认好像是60秒),无论三七二十一,直接将请求咔嚓掉。命令行

五、后续又拿tomcat7.0作测试,也以失败了结;线程

欢迎你们指正....

另外,网络上关于WEB服务器攻击的文章不少,大多讲DoS和DDos,并有相关工具,虽然铺天盖地的说很NB,由于这些工具本人还没亲自试验过,因此这里不对这些进行描述,若是有实战经验的大虾们,能够一块儿分享下。

相关文章
相关标签/搜索