From 22beaf23101a46cbb7f753dc1142cd00a89665fc Mon Sep 17 00:00:00 2001 From: Evan Hosinski Date: Tue, 3 Jun 2025 19:42:40 -0400 Subject: [PATCH] Refactor user and credential handling: rename Creds to User, update database migrations, and add targets subcommand for exporting users and subdomains --- cmd/hunter.go | 9 +-------- cmd/query.go | 5 +++-- internal/dehashed/dehashed.go | 18 +++++++++--------- 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/cmd/hunter.go b/cmd/hunter.go index e268fa3..809a7d4 100644 --- a/cmd/hunter.go +++ b/cmd/hunter.go @@ -239,24 +239,17 @@ var ( // Pretty Print Hunter.io Email Verification Result var ( - headers = []string{"Email", "Status", "Result", "Score", "Regexp", "Gibberish", "Disposable", "Webmail", "MX Records", "SMTP Server", "SMTP Check", "Accept All", "Block", "Sources"} + headers = []string{"Email", "Result", "Score", "Disposable", "MX Records", "SMTP Server", "SMTP Check"} rows [][]string ) rows = append(rows, []string{ result.Email, - result.Status, result.Result, fmt.Sprintf("%d", result.Score), - fmt.Sprintf("%t", result.Regexp), - fmt.Sprintf("%t", result.Gibberish), fmt.Sprintf("%t", result.Disposable), - fmt.Sprintf("%t", result.Webmail), fmt.Sprintf("%t", result.MXRecords), fmt.Sprintf("%t", result.SMTPServer), fmt.Sprintf("%t", result.SMTPCheck), - fmt.Sprintf("%t", result.AcceptAll), - fmt.Sprintf("%t", result.Block), - fmt.Sprintf("%v", result.Sources), }) fmt.Println("Email Verification Result:") diff --git a/cmd/query.go b/cmd/query.go index b54abdd..8115356 100644 --- a/cmd/query.go +++ b/cmd/query.go @@ -26,7 +26,7 @@ func init() { queryCmd.Flags().StringVarP(&dbQueryRawQuery, "raw-query", "r", "", "Raw SQL query to execute") queryCmd.Flags().BoolVarP(&dbQueryListAll, "list-all", "a", false, "List all tables and their columns") queryCmd.Flags().StringVarP(&dbQueryFormat, "format", "f", "json", "Output format (json, yaml, xml, txt)") - queryCmd.Flags().StringVarP(&dbQueryFile, "file", "o", "query", "File to output results to including extension") + queryCmd.Flags().StringVarP(&dbQueryFile, "file", "o", "query", "File to output results to") // Add mutually exclusive flags to query and raw-query // Cannot use query and raw-query at the same time @@ -51,7 +51,8 @@ var ( queryCmd = &cobra.Command{ Use: "query", Short: "Query the database", - Long: `Query the database for various information.`, + Long: `Query the database for various information. +If file is specified, results are written to file and not displayed in the terminal.`, Run: func(cmd *cobra.Command, args []string) { // If list-all flag is set, list all tables and columns if dbQueryListAll { diff --git a/internal/dehashed/dehashed.go b/internal/dehashed/dehashed.go index f481c28..385a7cc 100644 --- a/internal/dehashed/dehashed.go +++ b/internal/dehashed/dehashed.go @@ -255,25 +255,25 @@ func (dh *Dehasher) parseResults() { debug.PrintInfo("printing results table") } - headers = []string{"Name", "Email", "Username", "Password", "Address", "Phone", "Social", "Crypto Address", "Company"} + headers = []string{"Email", "Username", "Password", "Phone", "Company"} if len(results.Results) > 50 { fmt.Println(" [-] Large number of results recovered, displaying first 50...") for i := 0; i < 50; i++ { r := results.Results[i] rows = append(rows, []string{ - strings.Join(r.Name, ", "), strings.Join(r.Email, ", "), - strings.Join(r.Username, ", "), strings.Join(r.Password, ", "), - strings.Join(r.Address, ", "), strings.Join(r.Phone, ", "), - strings.Join(r.Social, ", "), strings.Join(r.CryptoCurrencyAddress, ", "), + strings.Join(r.Email, ", "), + strings.Join(r.Username, ", "), + strings.Join(r.Password, ", "), + strings.Join(r.Phone, ", "), strings.Join(r.Company, ", ")}) } } else { for _, r := range results.Results { rows = append(rows, []string{ - strings.Join(r.Name, ", "), strings.Join(r.Email, ", "), - strings.Join(r.Username, ", "), strings.Join(r.Password, ", "), - strings.Join(r.Address, ", "), strings.Join(r.Phone, ", "), - strings.Join(r.Social, ", "), strings.Join(r.CryptoCurrencyAddress, ", "), + strings.Join(r.Email, ", "), + strings.Join(r.Username, ", "), + strings.Join(r.Password, ", "), + strings.Join(r.Phone, ", "), strings.Join(r.Company, ", ")}) } }