{"id":16355810,"url":"https://github.com/lyz-code/bruty","last_synced_at":"2025-10-26T03:31:11.634Z","repository":{"id":49166518,"uuid":"379885014","full_name":"lyz-code/bruty","owner":"lyz-code","description":"Bruteforce dynamic web applications with Selenium","archived":false,"fork":false,"pushed_at":"2021-06-25T11:30:26.000Z","size":127,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-31T14:21:45.935Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","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/lyz-code.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null}},"created_at":"2021-06-24T10:19:54.000Z","updated_at":"2022-04-25T17:56:07.000Z","dependencies_parsed_at":"2022-09-04T10:21:55.955Z","dependency_job_id":null,"html_url":"https://github.com/lyz-code/bruty","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lyz-code%2Fbruty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lyz-code%2Fbruty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lyz-code%2Fbruty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lyz-code%2Fbruty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lyz-code","download_url":"https://codeload.github.com/lyz-code/bruty/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238254118,"owners_count":19441790,"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-10-11T01:41:50.886Z","updated_at":"2025-10-26T03:31:11.262Z","avatar_url":"https://github.com/lyz-code.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bruty\n\n[![Actions Status](https://github.com/lyz-code/bruty/workflows/Build/badge.svg)](https://github.com/lyz-code/bruty/actions)\n\nBruteforce dynamic web applications with Selenium.\n\n## Installing\n\n```bash\npip install bruty\n```\n\nIt's assumed that you've got installed Chromium under `/usr/bin/chromium` and\nthat the\n[chromedriver](https://sites.google.com/a/chromium.org/chromedriver/downloads)\nof the same version is found in your `PATH`.\n\n## Usage\n\nIf you want to content from the https://fake.web website that is not found by\ncrawlers, you can create a list of uris in a file such as:\n\n```\nadmin\nwp-login\n```\n\nThen run:\n\n```bash\nbruty https://fake.web -f uris.txt\n```\n\nIf you don't want to wait until the command ends to see the results use the `-v`\nflag.\n\n### Fake 404 pages\n\nSome sites return a 200 status code for the 404, if it's your case, inspect the\ncode of one of them and create a regular expression to catch them, imagine it's\n`404 error`.\n\nTo test that it works run `bruty` against two urls, one that exists and another\nthat returns the fake 404, making sure that only the existent one is printed.\n\n```bash\nbruty https://fake.web -u index.html -u fake_404.html -n '404 error'\n```\n\nOnce you know it works, run it against all the uris:\n\n```bash\nbruty https://fake.web -f uris.txt -n '404 error'\n```\n\n### Untrusted return codes\n\nSome websites use the 200 status code when they should use 404 or even 30X. Use\nthe `-i` flag to ignore the checking of the status code. It should be used with\nthe `-n` flag to tell the right urls from the wrong.\n\n```bash\nbruty https://fake.web -f uris.txt -i -n '404 error'\n```\n\n### Parallelization\n\nBruty doesn't yet support parallelization, so you'll have to do it manually,\nsplit your uris file into the number of processes you want with `split` and\nlaunch a `bruty` process for each of them.\n\n## Contributing\n\nFor guidance on setting up a development environment, and how to make\na contribution to *bruty*, see [Contributing to\nbruty](https://lyz-code.github.io/bruty/contributing).\n\n## License\n\nGPLv3\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flyz-code%2Fbruty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flyz-code%2Fbruty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flyz-code%2Fbruty/lists"}