加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

记一次被DDoS欺诈的过程

发布时间:2019-06-25 01:16:04 所属栏目:建站 来源:糖果L5Q
导读:一、配景 配景是这样,一个伴侣网站营业被DDoS了,先是威胁要800元RMB,然后又转成提供DDOS的处事,然后又酿成了DDOS培训, 又酿成了卖DDOS软件,最后又酿成了DDOS高防护提供者,最后到警员叔叔哪里,报警备案乐成的故事。 二、来自黑客的威胁 就在这几天
副问题[/!--empirenews.page--]

一、配景

配景是这样,一个伴侣网站营业被DDoS了,先是威胁要800元RMB,然后又转成提供DDOS的处事,然后又酿成了DDOS培训, 又酿成了卖DDOS软件,最后又酿成了DDOS高防护提供者,最后到警员叔叔哪里,报警备案乐成的故事。

二、来自黑客的威胁

就在这几天,一个伴侣传来了他被DDoS的动静,正在搬砖中看到他发的动静,说他们的客服收到到0118号客人的威胁信息,说要顿时干掉你们。

记一次被DDoS欺诈的过程

这位伴侣也许见过大时势的人,这点威胁就能吓倒他吗, 太灵活了。

2.png

各人可看看下面这个图。

记一次被DDoS欺诈的过程

看到上面这个流量激增你们也能看出来,之后处事器真的就挂了,真的挂了,挂了。

记一次被DDoS欺诈的过程

这位伴侣冷静的看了眼高仿的价值,这个价值再次击穿了他的心量防地。 我买,我买, 我买不起。买不起是恶作剧,但这也太贵了。

不外这个时辰这位伴侣想起来了,客服留言中的谁人黑客微信接洽方法, 先加个微信会会这位伴侣。

记一次被DDoS欺诈的过程

这么长的对话内容,或许的意思是说, 对方要800块钱,而且还能辅佐搞其余竞争敌手。这位伴侣的答复就较量艺术了,没钱,要钱向老板要去。

三、常见流量进攻的情势

到这了,我们插入一段技能内容,流量进攻的几种常见情势。

1. 到7层的进攻

  • 大量肉鸡发生的CC(ChallengeCollapsar)。
  • 向WEB处事端口发送的大量的,巨型垃圾包(着实也不是很大,单条1MB以上)。

2. 到4层的进攻

  • TCP sync进攻,每一次tcp握手就跑,纯撩闲式的方法。

除了sync方法进攻,其余的两种,都可以到达7层,形成WEB处事日记。

第1种和第2种,我们都可以看到nginx日记,大post的垃圾哀求有一个题目是,发送的哀求数据,也许都不切合HTTP类型。

较量粗爆的哀求,可以通过下面简朴的要领, 插手到nginx.conf设置中,举办非http哀求的协议数据的过滤。

(1) 限制哀求要领:

  1. if ($request_method !~ ^(GET|HEAD)$ ) {  
  2.      return    444;  

(2) 限制主机名:

  1. if ($host !~* xxx.com$) { 
  2.       return 444; 

四、WAF防护

我们的处事有许多都是用nginx、openresy、tengine搭建的,以是用nginx lua做WAF防护也是一件很正常的事, 看看下面的设置就能知道这位伴侣用的是谁人WAF了吧。

记一次被DDoS欺诈的过程

用LUA写CC的安详计策是一个相对很便捷的进程。

记一次被DDoS欺诈的过程

威胁哀求发生了大量的501和444。

记一次被DDoS欺诈的过程

掷中了计策后,发生了对应的掷中日记。

记一次被DDoS欺诈的过程

就算我们明晰知道进攻源,要举办拦截也是有题目的,我们在处事器上陈设了WAF,但前端处事尚有CDN和LVS,可以在后端说明出威胁,但不能在这些装备长举办ip block阻断。

而且,这位伴侣的日记说明还没有效到大数据层面,在手动阐嫡志阶段, 这样说明和相应速率很难和WAF协同事变。

但就算WAF可以拦截一部门威胁,当小局限的机房和处事器照旧有带宽上限的,一旦请深求拥堵带广大于这个上限,照旧一样无相应。

而且有机房基础没有阻断成果,只有报警成果,一样平常贷款占大,营业就会被机机房业断网。

记一次被DDoS欺诈的过程

五、阁下互博

进攻是消停了,然则这位伴侣感受照旧差池, 要不就模仿一下本身DDoS本身机吧。

记一次被DDoS欺诈的过程

拿起心爱的GO开撸:

  1. package main  
  2. import (  
  3.    "fmt"  
  4.    "io"  
  5.    "io/ioutil"  
  6.    "net/http"  
  7.    "os"  
  8.    "time"  
  9.    "strconv"  
  10. )  
  11. func main() {  
  12.    start := time.Now()  
  13.    ch := make(chan string)  
  14.    var count int64 = 1  
  15.    times,_ := strconv.ParseInt(os.Args[1],10,64)  
  16.    url := os.Args[2]  
  17.    for count = 0; count <= times; count++ {  
  18.        go fetch(url, ch, count) // start a goroutine  
  19.     }  
  20.    for count = 0; count <= times; count++ {  
  21.        fmt.Println(<-ch) // receive from channel ch  
  22.     }  
  23.    fmt.Printf("%.2fs elapsedn", time.Since(start).Seconds())  
  24. }  
  25. func fetch(url string, ch chan<- string,count int64) {  
  26.    start := time.Now()  
  27.    resp, err := http.Get(url)  
  28.    if err != nil {  
  29.        ch <- fmt.Sprint(err) // send to channel ch  
  30.        return  
  31.     }  
  32.    nbytes, err := io.Copy(ioutil.Discard, resp.Body)  
  33.    resp.Body.Close() // don't leak resources  
  34.    if err != nil {  
  35.        ch <- fmt.Sprintf("while reading %s: %v", url, err)  
  36.        return  
  37.     }  
  38.    secs := time.Since(start).Seconds()  
  39.    ch <- fmt.Sprintf("%7d %.2fs %7d  %s",count, secs, nbytes,url)  
  40.        } 

你的代码写的真棒,大概有的伴侣必要这代码,老端正放到github上:go-attacker

六、回收高防

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读