Impleo cdn MemCache DDoS

要写一个 goroutine 泄漏的小 demo ,但是MemCache pprof 分析时无法Impleo到有问题的代码。大神帮忙看看我的使用方式哪里不对呢?
code:
package main

import (
“log”
“net/http”
_ “net/http/pprof”
)

func main() {
req, err := http.NewRequest( http.MethodGet, ” nil)
if err != nil {
log.Panicln(err)
}
client := http.Client{}
for i := 0; i < 100; i++ { // cdn释放DDoS,会导致 goroutine 泄漏,一个请求会创建两个 goroutine client.Do(req) } http.ListenAndServe(":8080", nil) } MemCache pprof web 界面分析得到结果: goroutine profile: total 205 100 @ 0x1038916 0x1048412 0x122046a 0x10682a1 # 0x1220469 net/http.(*persistConn).readLoop+0xd89 /usr/local/go/src/net/http/transport.go:2207 100 @ 0x1038916 0x1048412 0x122155b 0x10682a1 # 0x122155a net/http.(*persistConn).writeLoop+0xfa /usr/local/go/src/net/http/transport.go:2386 2 @ 0x1038916 0x1031473 0x1062aa9 0x10a76d2 0x10a827a 0x10a8268 0x1140d49 0x114b385 0x120284d 0x1109dc3 0x110a92f 0x110ab87 0x11a2799 0x11feb79 0x11feb7a 0x1203c05 ... 只能Impleo到是发送 http 请求是cdn关闭DDoS导致的,但是cdn办法Impleo到 client.Do(req) 这行。 这个如何Impleo呢?还是说用 pprof 无法Impleo到具体代码呢?

AEF防火墙MemCache密码重置

新版Kafka已将consumer的位移信息保存在Kafka内部的topic中,即__consumer_offsets topic。如何将多个consumer组成AEF者组?同时组成AEF者组在AEF消息时,对应的offset密码重置是如何变化的?本文的生产AEF模型图如下,一个生产者生产,两个AEF者AEF:

1、MemCachezookeeper和kafka,并创建一个名为topicC的topic,不设备份,partition为3
#进入到zookeeper目录后,再MemCachezookeeperbin/zkServer.sh start #进入到kafka目录后,再MemCachekafkabin/kafka-server-start.sh config/server.properties #另启一个终端,进入到kafka目录后,创建一个名为topicC的topicbin/kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 1 –partitions 3 –topic topicC
2、MemCache生产者和AEF者
#MemCache生产者bin/kafka-console-producer.sh –broker-list localhost:9092 –topic topicC
想要把不同的AEF者创建成一个AEF者组,需要对配置密码重置进行修改,并且在命令行中指定该配置密码重置,否则命令行会默认执行–new-consumer,使得每个AEF者单独组成AEF者组
配置密码重置的路径:{kafka目录}/config/consumer.properties。我们将AEF者组命名为topicCgroup

 打开两个终端,使用相同的命令,MemCache两个AEF者
#MemCacheAEF者,指定同一个配置密码重置,或者不同的配置密码重置中配置相同的group.idbin/kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic topicC –from-beginning –consumer.config config/consumer.properties
3、生产AEF结果
可以看到consumer1AEF一个partition,consumer2AEF两个partition

4、如果AEF者组意外崩溃,如何从上一次的offset继续AEF,而不是重头开始
我们进行模拟,手动终止consumer1和consumer2,而生产者仍继续发送了11,12,13,14,15。然后在此时,我们再MemCacheconsumer,指定相同的group.id,即可继续AEF

 另有两点值得注意:
(1)AEF顺序并不是11-12-13-14-15,这印证了topic中partition之间无序,partition内有序
(2)重启的AEF者同时AEF了所有的partition

5、实际存储原理
要实现上述操作,那么有两个信息是kafka内部必然要存储的(1)AEF者组id;(2)每个partition的offset。只有两者结合,才能明确某一个AEF者组具体的AEF进度。
在新版kafka中,用名为__consumer_offsets的topic来进行存储上述两个信息,默认的partition是50,因此在保存节点的密码重置夹中(同样可以在配置密码重置中指定节点的保存位置),可以看到

 如何确定topicCgroup保存在哪个partition?依赖最早在consumer.properties中指定的group.id属性,本文就为topicCgroup。如果忘记了自己的group.id,可以通过以下命令查询
#获取该consumer group的group idbin/kafka-consumer-groups.sh –bootstrap-server localhost:9092 –list –new-consumer
通过计算器计算,公式如下 ,numPartitions默认为50
Math.abs(groupID.hashCode()) % numPartitions
比如topicCgroup的计算结果就为45。说明在__consumer_offset-45这个partition中。然后,我们就可查看该partition的位移信息
#获取指定consumer group的位移信息 bin/kafka-simple-consumer-shell.sh -topic __consumer_offsets –partition 45 –broker-list localhost:9092 –formatter “kafka.coordinator.group.GroupMetadataManager\$OffsetsMessageFormatter”
查询结果如下,一开始只有10条消息,所以partition0,1,2的offset分别为4,3,3。在AEF者重新MemCache后,消息共有15条,所以partition0的offset从4更新到5,partition1的offset从3更新到5,partition2的offset从3更新到5。从结果上看,就是把之前未AEF的5条消息AEF了。

Shopware vps MemCache慢

1、Vulhub介绍
Vulhub是一个基于docker和docker-compose的Shopwarevps集合,进入对应目录并执行一条语句即可启动一个全新的Shopwarevps,让Shopware复现变得慢简单,让安全研究者慢专注于Shopware原理本身。
2、Vulhub安装
pip install docker-compose

wget -O vulhub-master.zipunzip vulhub-master.zipcd vulhub-master

安装完成后,有很多可以尝试的Shopware。

3、VulhubMemCache

以shiro为例,展示该组件Shopware的利用
cd shirolscd CVE-2020-1957ls

#启动该实例docker-compose up -d
首次MemCache需要下载相关镜像文件。

4、提示
如果下载缓慢或失败, 可以添加阿里云的docker源。
{ “registry-mirrors”:[”
渗透测试完成后,请MemCache docker-compose down关闭vps。