import gradio as gr def generate_dorks(domain, targeted_extensions, find_admin, find_files, find_errors): dorks = [] # Base domain constraint base = f"site:{domain}" if domain else "" # 1. Admin / Login Portals if find_admin: keywords = ["admin", "login", "dashboard", "portal", "cpanel", "wp-admin"] for k in keywords: dork = f"{base} inurl:{k}" dorks.append(f"Admin Search: {dork}") # 2. Sensitive Files (Recon) if find_files: exts = ["env", "log", "sql", "bak", "txt", "config"] if targeted_extensions: exts += targeted_extensions.split(",") for ext in exts: ext = ext.strip() if ext: dork = f"{base} ext:{ext}" dorks.append(f"File Exposure ({ext}): {dork}") # 3. Directory Listing / Config Exposure if find_files: dorks.append(f"{base} intitle:\"index of\"") dorks.append(f"{base} intext:\"Index of /\"") # 4. Error Messages (SQLi Recon) if find_errors: errors = [ "SQL syntax", "warning: mysql_", "unclosed quotation mark", "syntax error" ] for err in errors: dork = f"{base} intext:\"{err}\"" dorks.append(f"Error Leak: {dork}") return "\n".join(dorks) description = """ # 🦅 Alpha Recon Dork Studio **Advanced Query Builder for Security Reconnaissance** This tool helps generate precise search operators for: * 🕵️‍♂️ **Admin Panels**: Locate login portals and backends. * 📂 **Exposed Files**: Find forgotton backup files (.bak, .sql) or configs (.env). * 🐛 **Error Leaks**: Identify pages leaking SQL errors or stack traces. *Usage: specific financial targeting is disabled. This tool is for infrastructure analysis.* """ with gr.Blocks(theme=gr.themes.Monochrome()) as demo: gr.Markdown(description) with gr.Row(): with gr.Column(): domain_input = gr.Textbox(label="Target Domain", placeholder="example.com") ext_input = gr.Textbox(label="Custom Extensions (comma separated)", placeholder="jsp, php, asp") with gr.Group(): check_admin = gr.Checkbox(label="Find Admin Panels", value=True) check_files = gr.Checkbox(label="Find Sensitive Files (.env, .sql, .log)", value=True) check_errors = gr.Checkbox(label="Find SQL Errors", value=True) btn_gen = gr.Button("🔍 Generate Recon Dorks", variant="primary") with gr.Column(): output_box = gr.Code(label="Generated Dorks", language="text", lines=20) btn_gen.click( fn=generate_dorks, inputs=[domain_input, ext_input, check_admin, check_files, check_errors], outputs=output_box ) if __name__ == "__main__": demo.launch(server_name="0.0.0.0", server_port=7861)