Skip to content

User-agent Fuzzing Library. This repository holds data of all the user agents in the `user_agents.json` file, which can be used directly with any tool that can parse json format.

License

Notifications You must be signed in to change notification settings

Add3r/UserAgent-Fuzz-lib

Repository files navigation

User Agent Dictionary Logo

GitHub release (latest by date) License: GPL-3.0 Awesome Made with Love Support

Repository Views Python Total User-Agents Archived Mobile User-Agents General User-Agents

UserAgent Fuzzing-Library

This repository holds data of all the user agents in the user_agents.json file, which can be used directly with any tool that can parse json format.

download the repo to update the user-agent data by running ua-fuzz-lib.py and edit the file per the fields you would like to add or remove.

This dictionary of useragents was built to provide as input to Proxy_Bypass vulnerability research tool to use the user-agents.json file as input for fuzzing proxies.

As a PoC have provided the ua-stats.py script which draw various statistics out of the user-agents.json file as input

Overview

🎯 Primary:

  • The User Agent Dict python script is designed to scrape from useragentstring.com
  • To use as Fuzzing library of user-agents used for vulnerability research tools (.i.e) Proxy_Bypass
  • Organize the data into dictionaries, for faster access (mimicing hashmaps)

🚀 Secondary:

  • Identify user agent groups based on specified conditions.
    • High used vs low used user-agents to choose for fuzzing
  • Display statistics about general and mobile user agents.
  • Provide options for data visualization using pie charts, word clouds, and more.

How to Use

  1. Installation: Clone this repository to your local machine.

  2. Setup: Install the required libraries using the following command:

    pip3 install -r requirements.txt
  3. Run the Script: Open a terminal and navigate to the project directory. Run the script using the following command:

    python3 ua-fuzz-lib.py

Sample Output

If you would like to print on screen

> python3 ua-fuzz-lib.py
Do you want to print the data on the screen? (yes/no): yes

[
 {
     "title": "ABrowse 0.6",
     "group": "ABrowse",
     "id": "ua-1",
     "user-agent": "Mozilla/5.0 (compatible; U; ABrowse 0.6; Syllable) AppleWebKit/420+ (KHTML, like Gecko)",
     "Host": "General"
 },
.
.
.
(output Truncated)
.
.
 {
     "title": "WDG_Validator 1.6.2",
     "group": "WDG_Validator",
     "id": "ua-11256",
     "user-agent": "WDG_Validator/1.6.2",
     "Host": "Mobile"
 }
]

If you would like to update the user_agents.json file

   
   Do you want to update the JSON file? (yes/no): yes
   [+] General User Agents: 10627
   [+] Mobile User Agents: 629
   [+] Total User Agents: 11256
   [+] JSON file updated successfully.
   [!] No new user-agents found.
   
   

Statistics

As a PoC, have added a basic statistics deriving script ua-stats.py that uses the user_agents.json as input file.

ua-stats.py script will prompt you to interactively choose from various options, such as viewing pie charts and generating word clouds from the user_agents.json data.

How to Use ua-stats.py

  1. Run the Script: Open a terminal and navigate to the project directory. Run the script using the following command:

    python3 ua-stats.py

Sample Output

> python3 ua-stats.py
Select an option:
1. Pie chart for Mobile User Agents (Count < 10)
2. Pie chart for Mobile User Agents (10 <= Count < 500)
3. Pie chart for General User Agents (10 <= Count < 50)
4. Pie chart for General User Agents (50 <= Count < 500)
5. Pie chart for General User Agents (Count >= 500)
6. Word Cloud for Mobile User Agent Group Names
7. Word Cloud for General User Agent Group Names
8. Exit
Enter your choice (1/2/3/4/5/6/7/8): 

This is only a PoC to use of using the json file data, there could be more analysis you could think of with this data. 😀

Few Samples Below

Mobile

Highest Mobile User Agents
Highest Mobile User Agents

Mobile User Agents < 500
Mobile User Agents < 500

General

Highest General User Agents
Highest General User Agents

General User Agents > 500
General User Agents > 500

General User Agents < 500
General User Agents < 500

Note

The script may require an internet connection to retrieve data from the specified URL. If you encounter any issues or have questions, feel free to open an issue in this repository.

License

This project is licensed under the GPL 3.0 License - see the LICENSE file for details.

About

User-agent Fuzzing Library. This repository holds data of all the user agents in the `user_agents.json` file, which can be used directly with any tool that can parse json format.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages