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

巧了我就是萌 提交于 2020-03-01 20:23:00

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

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

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

但是,测试的结果离预期太遥远了,以下是攻击步骤:

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

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

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

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

4、 一切条件具备了,拿内网的一台weblogic11g开涮,从weblogic控制台看,socket的连接已经超过3万,但对weblogic来说好像没啥事。后来又验证了weblogic的另外一个特性:不管是输入还是输出,连接超过一定的时间(输入默认好像是60秒),不管三七二十一,直接将请求咔嚓掉。

5、后续又拿tomcat7.0做测试,也以失败告终;

欢迎大家指正....

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!