{"id":13541971,"url":"https://github.com/PortSwigger/param-miner","last_synced_at":"2025-04-02T09:33:07.621Z","repository":{"id":40257571,"uuid":"142453235","full_name":"PortSwigger/param-miner","owner":"PortSwigger","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-03T08:15:02.000Z","size":43584,"stargazers_count":1309,"open_issues_count":24,"forks_count":169,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-03-29T10:03:21.967Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://portswigger.net/blog/practical-web-cache-poisoning","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PortSwigger.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-26T14:34:24.000Z","updated_at":"2025-03-28T10:34:21.000Z","dependencies_parsed_at":"2024-01-29T09:19:18.915Z","dependency_job_id":"782b4ad0-9483-43e5-9ca1-fea064e226df","html_url":"https://github.com/PortSwigger/param-miner","commit_stats":{"total_commits":470,"total_committers":27,"mean_commits":17.40740740740741,"dds":"0.17872340425531918","last_synced_commit":"be88917b6396323c4af56b2c425e5c9fc7da267b"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PortSwigger%2Fparam-miner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PortSwigger%2Fparam-miner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PortSwigger%2Fparam-miner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PortSwigger%2Fparam-miner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PortSwigger","download_url":"https://codeload.github.com/PortSwigger/param-miner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246788967,"owners_count":20834203,"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":[],"created_at":"2024-08-01T10:00:59.535Z","updated_at":"2025-04-02T09:33:07.118Z","avatar_url":"https://github.com/PortSwigger.png","language":"Java","readme":"# param-miner\n\nThis extension identifies hidden, unlinked parameters. It's particularly useful for finding web cache poisoning vulnerabilities.\n\nIt combines advanced diffing logic from Backslash Powered Scanner with a binary search technique to guess up to 65,000 param names per request. \nParam names come from a carefully curated built in wordlist, and it also harvests additional words from all in-scope traffic.\n\nTo use it, right click on a request in Burp and click \"Guess (cookies|headers|params)\". \nIf you're using Burp Suite Pro, identified parameters will be reported as scanner issues. If not, you can find them listed under Extender-\u003eExtensions-\u003eParam Miner-\u003eOutput\n\nYou can also launch guessing attacks on multiple selected requests at the same time - this will use a thread pool so you can safely use it on thousands of requests if you want.\nAlternatively, you can enable auto-mining of all in scope traffic. Please note that this tool is designed to be highly scalable but may require tuning to avoid performance issues.\n\nFor further information, please refer to the whitepapers:\n\n2020: https://portswigger.net/research/web-cache-entanglement\n\n2018: https://portswigger.net/research/practical-web-cache-poisoning\n\nThe code can be found at https://github.com/portswigger/param-miner\n\nIf you'd like to rate limit your attack, use the Distribute Damage extension.\n\nContributions and feature requests are welcome.\n\n**Web Cache Entanglement update**\n\nHere's a video of the new features being used to find a fat GET cache poisoning vulnerability in a demo site using Rack::Cache\n\n[![Param Miner demo video](https://img.youtube.com/vi/TQ42N8fqxw4/0.jpg)](https://www.youtube.com/watch?v=TQ42N8fqxw4)\n\nAnother video targeting a real site is coming soon - I'm just waiting on the target to patch.\n\n# Changelog\n**1.21  2020-09-02**\n - Non-default settings are now highlighted, and can be reset to default\n - Various bugfixes \n \n**1.20  2020-08-05**\n - Major update for Web Cache Entanglement\n\n**1.07 2018-12-06**\n - Fix config window size for small screens (thanks @misoxxx)\n \n**1.06 2018-10-10**\n - Support custom wordlists\n - Support fuzz-based detection\n - Numerous bug fixes and quality of life tweaks\n \n**1.03 2018-08-09**\n - First public release\n\n# Installation\nThis extension requires Burp Suite 2021.9 or later. To install it, simply use the BApps tab in Burp.\n\n# Development\n\nLinux: `./gradlew build fatjar`\n\nWindows: `gradlew.bat build fatjar`\n\nGrab the output from `build/libs/param-miner-all.jar`\n","funding_links":[],"categories":["Recon","Weapons","Java","Java (504)","Pentesting"],"sub_categories":["Parameters","Burpsuite, Caido and ZAP Addons","Payloads"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPortSwigger%2Fparam-miner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPortSwigger%2Fparam-miner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPortSwigger%2Fparam-miner/lists"}