{"id":13840528,"url":"https://github.com/KathanP19/Gxss","last_synced_at":"2025-07-11T09:32:01.825Z","repository":{"id":41970064,"uuid":"291595307","full_name":"KathanP19/Gxss","owner":"KathanP19","description":"A tool to check a bunch of URLs that contain reflecting params.","archived":true,"fork":false,"pushed_at":"2024-08-04T15:58:57.000Z","size":51,"stargazers_count":521,"open_issues_count":6,"forks_count":75,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-08-05T17:25:15.967Z","etag":null,"topics":["bugbounty","bugbounty-tool","golang","xss","xss-detection"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KathanP19.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://www.buymeacoffee.com/kathanp19"]}},"created_at":"2020-08-31T02:32:12.000Z","updated_at":"2024-08-04T15:59:20.000Z","dependencies_parsed_at":"2023-01-30T02:01:00.375Z","dependency_job_id":null,"html_url":"https://github.com/KathanP19/Gxss","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KathanP19%2FGxss","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KathanP19%2FGxss/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KathanP19%2FGxss/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KathanP19%2FGxss/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KathanP19","download_url":"https://codeload.github.com/KathanP19/Gxss/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225712461,"owners_count":17512403,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bugbounty","bugbounty-tool","golang","xss","xss-detection"],"created_at":"2024-08-04T17:00:50.013Z","updated_at":"2024-11-21T10:30:20.930Z","avatar_url":"https://github.com/KathanP19.png","language":"Go","funding_links":["https://www.buymeacoffee.com/kathanp19"],"categories":["Go","Go (531)"],"sub_categories":[],"readme":"# Project is now Deprecated as Dalfox has discovery option which can be used to identify reflecting params `dalfox file urls.txt --skip-xss-scanning -o reflecting.txt`\n\n# Gxss v4.0\n\nA Light Weight Tool for checking reflecting Parameters in a URL. Inspired by [kxss](https://github.com/tomnomnom/hacks/tree/master/kxss) by [@tomnomnom](https://twitter.com/TomNomNom).\n\n# Installation\n\n`go install github.com/KathanP19/Gxss@latest`\n\n* If the above step doesn't work then you can try pre-built binary file from here\n  https://github.com/KathanP19/Gxss/releases\n\n# Usage\n\n```\n                  \n _____ __ __ _____ _____ \n|   __|  |  |   __|   __|\n|  |  |-   -|__   |__   |\n|_____|__|__|_____|_____|\n                         \n        4.0 - @KathanP19\n\nUsage of Gxss:\n  -c int\n        Set the Concurrency (default 50)\n  -d string\n        Request data for POST based reflection testing\n  -h value\n        Set Custom Header.\n  -o string\n        Save Result to OutputFile\n  -p string\n        Payload you want to Send to Check Reflection (default \"Gxss\")\n  -u string\n        Set Custom User agent. Default is Mozilla (default \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36\")\n  -v    Verbose mode\n  -x string\n        Proxy URL. Example: http://127.0.0.1:8080\n```\n\n* Checking Single Url\n\n    `echo \"https://target.com/some.php?first=hello\u0026last=world\" | Gxss -c 100 `\n    \n* Checking List of Urls\n\n    `cat urls.txt | Gxss -c 100 -p XssReflected`\n\n* Save Urls Which have Reflecting Params in a file for further analysis\n\n    `cat urls.txt | Gxss -c 100 -o Result.txt`\n\n* For verbose mode `-v`\n\n    `cat urls.txt | Gxss -c 100 -o Result.txt -v `\n    \n* Send Custom Header `-h`\n    \n    `cat urls.txt | Gxss -c 100 -p Xss -h \"Cookie: Value\"`\n    \n* Send Custom User-Agent `-u`\n    \n    `cat urls.txt | Gxss -c 100 -p Xss -h \"Cookie: Value\" -u \"Google Bot\"`\n\n\n# How It Works\n1. It takes Urls from STDIN\n2. It check for the reflected value on params one by one. (There are some tool like qsreplace which replace all params value but gxss checks payload one by one which makes it different from all those tools.)\n```\nFor Example- \nUrl is https://example.com/?p=first\u0026q=second\n\nFirst it will check if p param reflects\nhttps://example.com/?p=Gxss\u0026q=second\n\nThen it will check if q param reflects\nhttps://example.com/?p=first\u0026q=Gxss\n```\n3. If reflection for any param is found it tells which param reflected in response.\n\n[![asciicast](https://asciinema.org/a/84mXOOcDrxzZ3eyW16Ap3eHwX.svg)](https://asciinema.org/a/84mXOOcDrxzZ3eyW16Ap3eHwX)\n\n# Use Case or How to add to your workflow\n\n`echo \"testphp.vulnweb.com\" | waybackurls | httpx -silent | Gxss -c 100 -p Xss | sort -u | dalfox pipe` \n\n* [Dalfox](https://github.com/hahwul/dalfox) is Xss Scanner by [@hahwul](https://twitter.com/hahwul)\n\n# TODO\n\n- [ ] TimeOut Option. \n- [x] Add Post Method Support.\n- [x] Add Proxy Support.\n- [x] Add an option for user to add there own headers\n- [x] Add an option for User-Agent\n\n# Thanks To\n\n* [Zoid](https://twitter.com/z0idsec) for helping me out with code.\n* [Parth Parmar](https://twitter.com/Parth97531) for adding Custom Header and User-Agent Support.\n* [Luska](https://github.com/LuskaBol) for adding proxy support and custom post data support\n\n# To Support Me \n\n* You Can Buy Me A Coffee\n\n    \u003ca href=\"https://www.buymeacoffee.com/kathanp19\" target=\"_blank\"\u003e\u003cimg src=\"https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png\" alt=\"Buy Me A Coffee\" style=\"height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;\" \u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKathanP19%2FGxss","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FKathanP19%2FGxss","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FKathanP19%2FGxss/lists"}