mirror of
https://github.com/WebBreacher/WhatsMyName.git
synced 2025-06-18 14:25:31 -04:00
Updating project documents and functions to remove old JSON
This commit is contained in:
parent
bfffea9308
commit
09d58f691d
6
.github/workflows/minify-json.yml
vendored
6
.github/workflows/minify-json.yml
vendored
@ -10,13 +10,13 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout files
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Minify new JSON
|
||||
|
||||
- name: Minify JSON
|
||||
uses: StefanEnsmann/Minify-JSON-Action@1.1.0
|
||||
with:
|
||||
input_file: wmn-data.json
|
||||
output_file: wmn-data-min.json
|
||||
|
||||
|
||||
- name: Auto-commit to repository
|
||||
uses: stefanzweifel/git-auto-commit-action@v4
|
||||
with:
|
||||
|
2
.github/workflows/validate-json.yml
vendored
2
.github/workflows/validate-json.yml
vendored
@ -6,7 +6,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Validate New JSON
|
||||
- name: Validate JSON
|
||||
uses: docker://orrosenblatt/validate-json-action:latest
|
||||
env:
|
||||
INPUT_SCHEMA: /wmn-data-schema.json
|
||||
|
136
CONTRIBUTING.md
136
CONTRIBUTING.md
@ -62,9 +62,78 @@ python3 ./web_accounts_list_checker.py -s my.new.site.Ive.added
|
||||
- Submit a pull request with that change
|
||||
- There is also the `sample.json` file that you can use for testing. Simply replace the existing content with new data and test.
|
||||
|
||||
## Format of the JSON File
|
||||
|
||||
### Format of the New/Current JSON file
|
||||
|
||||
The format of the `wmn-data.json` JSON was altered due to Issue #414. There are still 3 main elements:
|
||||
|
||||
1. License - The license for this project and its data
|
||||
2. Authors - The people that have contributed to this project
|
||||
3. Sites - This is the main data
|
||||
|
||||
Within the `sites` elements, the format is as follows (with several parameters being optional):
|
||||
|
||||
```json
|
||||
...
|
||||
{
|
||||
"name" : "name of the site",
|
||||
"uri_check" : "URI to check the site with the {account} string replaced by a username",
|
||||
"uri_pretty" : "if the check_uri is for an API, this OPTIONAL element can show a human-readable page",
|
||||
"post_body" : "if non-empty, then this entry is an HTTP POST and the content of this field are the data",
|
||||
"e_code" : "the HTTP response code for a good 'account is there' response as an integer",
|
||||
"e_string" : "the string in the response that we look for for a good response",
|
||||
"m_string" : "this OPTIONAL string will only be in the response if there is no account found ",
|
||||
"m_code" : "the HTTP response code for a bad 'account is not there' response as an integer",
|
||||
"known" : ["a list of user accounts that can be used to test", "for user enumeration"],
|
||||
"cat" : "a category for what the site is mainly used for. These are found at the top of the JSON",
|
||||
"valid" : "this true or false boolean field is used to enable or disable this site element"
|
||||
},
|
||||
...
|
||||
```
|
||||
|
||||
Here are examples of the site elements for both HTTP GET and HTTP POST entries:
|
||||
|
||||
**HTTP GET entry:**
|
||||
|
||||
```json
|
||||
{
|
||||
"name" : "Example GET",
|
||||
"uri_check" : "https://www.example.com/load_profile_info.php?name={account}",
|
||||
"uri_pretty" : "https://www.test.com/profile/{account}",
|
||||
"post_body" : "",
|
||||
"e_code" : 200,
|
||||
"e_string" : "regist_at",
|
||||
"m_code" : 200,
|
||||
"m_string" : "Account not found",
|
||||
"known" : ["whoami", "johndoe"],
|
||||
"cat" : "images",
|
||||
"valid" : true
|
||||
},
|
||||
```
|
||||
|
||||
**HTTP POST entry:**
|
||||
|
||||
```json
|
||||
{
|
||||
"name" : "Example POST",
|
||||
"uri_check" : "https://www.example.com/interact_api/load_profile_info.php",
|
||||
"post_body" : "Name=Gareth+Wylie&Age=24&Formula=a%2Bb+%3D%3D+21",
|
||||
"e_code" : 200,
|
||||
"e_string" : "regist_at",
|
||||
"m_code" : 200,
|
||||
"m_string" : "Account not found",
|
||||
"known" : ["whoami", "johndoe"],
|
||||
"cat" : "images",
|
||||
"valid" : true
|
||||
},
|
||||
```
|
||||
|
||||
### Format of the Old JSON file
|
||||
|
||||
The format of the `web_accounts_list.json` JSON file is simple. There are 3 main elements:
|
||||
**WARNING:** ==THIS FILE IS DEPRICATED, NO LONGER MAINTAINED, AND WILL BE REMOVED FROM THE PROJECT SOON. PLEASE MIGRATE TO USE THE NEW JSON FILE==
|
||||
|
||||
The format of the old `web_accounts_list.json` JSON file is simple. There are 3 main elements:
|
||||
|
||||
1. License - The license for this project and its data
|
||||
2. Authors - The people that have contributed to this project
|
||||
@ -108,71 +177,6 @@ Here is an example of a site element:
|
||||
...
|
||||
```
|
||||
|
||||
### Format of the New JSON file
|
||||
|
||||
The format of the `wmn-data.json` JSON was altered due to Issue #414. There are still 3 main elements:
|
||||
|
||||
1. License - The license for this project and its data
|
||||
2. Authors - The people that have contributed to this project
|
||||
3. Sites - This is the main data
|
||||
|
||||
Within the `sites` elements, the format is as follows (with several parameters being optional):
|
||||
|
||||
```json
|
||||
...
|
||||
{
|
||||
"name" : "name of the site",
|
||||
"uri_check" : "URI to check the site with the {account} string replaced by a username",
|
||||
"uri_pretty" : "if the check_uri is for an API, this OPTIONAL element can show a human-readable page",
|
||||
"post_body" : "if non-empty, then this entry is an HTTP POST and the content of this field are the data",
|
||||
"e_code" : "the HTTP response code for a good 'account is there' response as an integer",
|
||||
"e_string" : "the string in the response that we look for for a good response",
|
||||
"m_string" : "this OPTIONAL string will only be in the response if there is no account found ",
|
||||
"m_code" : "the HTTP response code for a bad 'account is not there' response as an integer",
|
||||
"known" : ["a list of user accounts that can be used to test", "for user enumeration"],
|
||||
"cat" : "a category for what the site is mainly used for. These are found at the top of the JSON",
|
||||
"valid" : "this true or false boolean field is used to enable or disable this site element"
|
||||
},
|
||||
...
|
||||
```
|
||||
|
||||
Here are examples of the site elements for both HTTP GET and HTTP POST entries:
|
||||
|
||||
**HTTP GET entry:**
|
||||
|
||||
```json
|
||||
{
|
||||
"name" : "Example GET",
|
||||
"uri_check" : "https://www.example.com/load_profile_info.php?name={account}",
|
||||
"uri_pretty" : "https://www.diigo.com/profile/{account}",
|
||||
"post_body" : "",
|
||||
"e_code" : 200,
|
||||
"e_string" : "regist_at",
|
||||
"m_code" : 200,
|
||||
"m_string" : "Account not found",
|
||||
"known" : ["whoami", "johndoe"],
|
||||
"cat" : "images",
|
||||
"valid" : true
|
||||
},
|
||||
```
|
||||
|
||||
**HTTP POST entry:**
|
||||
|
||||
```json
|
||||
{
|
||||
"name" : "Example POST",
|
||||
"uri_check" : "https://www.example.com/interact_api/load_profile_info.php",
|
||||
"post_body" : "Name=Gareth+Wylie&Age=24&Formula=a%2Bb+%3D%3D+21",
|
||||
"e_code" : 200,
|
||||
"e_string" : "regist_at",
|
||||
"m_code" : 200,
|
||||
"m_string" : "Account not found",
|
||||
"known" : ["whoami", "johndoe"],
|
||||
"cat" : "images",
|
||||
"valid" : true
|
||||
},
|
||||
```
|
||||
|
||||
## Method 3. Programming, enhancing the tool itself
|
||||
|
||||
Basic python programming skills required.
|
||||
|
@ -6,7 +6,7 @@ This repository has the unified data required to perform user and username enume
|
||||
|
||||
## Tools/Web Sites Using WhatsMyName
|
||||
|
||||
* https://whatsmyname.app/ - [Chris Poulter](https://twitter.com/osintcombine) created this site which draws the project's JSON file into a gorgeous and easy to use web interface.
|
||||
* https://whatsmyname.app/ - [Chris Poulter](https://twitter.com/osintcombine) created this site which draws the project's JSON file into an easy to use web interface.
|
||||
* Filters for category and in search results.
|
||||
* Exports to CSV and other formats.
|
||||
* Pulls the latest version of the project's JSON file when run.
|
||||
|
@ -2,5 +2,4 @@
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
To report a vulnerability, please create an [Issue](https://github.com/WebBreacher/WhatsMyName/issues) in this project or send
|
||||
an email to `micah` `@` `spotliight-infosec.com`
|
||||
To report a vulnerability, please create an [Issue](https://github.com/WebBreacher/WhatsMyName/issues) in this project or send an email to `micah` `@` `spotlight-infosec.com`
|
||||
|
183
schema.json
183
schema.json
@ -1,183 +0,0 @@
|
||||
{
|
||||
"definitions": {},
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"$id": "https://raw.githubusercontent.com/WebBreacher/WhatsMyName/master/schema.json",
|
||||
"title": "Root",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"license",
|
||||
"authors",
|
||||
"categories",
|
||||
"sites"
|
||||
],
|
||||
"properties": {
|
||||
"license": {
|
||||
"$id": "#root/license",
|
||||
"title": "License",
|
||||
"type": "array",
|
||||
"default": [],
|
||||
"items":{
|
||||
"$id": "#root/license/items",
|
||||
"title": "Items",
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"Copyright (C) 2022 Micah Hoffman"
|
||||
],
|
||||
"pattern": "^.*$"
|
||||
}
|
||||
},
|
||||
"authors": {
|
||||
"$id": "#root/authors",
|
||||
"title": "Authors",
|
||||
"type": "array",
|
||||
"default": [],
|
||||
"items":{
|
||||
"$id": "#root/authors/items",
|
||||
"title": "Items",
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"WebBreacher"
|
||||
],
|
||||
"pattern": "^.*$"
|
||||
}
|
||||
},
|
||||
"categories": {
|
||||
"$id": "#root/categories",
|
||||
"title": "Categories",
|
||||
"type": "array",
|
||||
"default": [],
|
||||
"items":{
|
||||
"$id": "#root/categories/items",
|
||||
"title": "Items",
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"archived"
|
||||
],
|
||||
"pattern": "^.*$"
|
||||
}
|
||||
},
|
||||
"sites": {
|
||||
"$id": "#root/sites",
|
||||
"title": "Sites",
|
||||
"type": "array",
|
||||
"default": [],
|
||||
"items":{
|
||||
"$id": "#root/sites/items",
|
||||
"title": "Items",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"name",
|
||||
"check_uri",
|
||||
"account_existence_code",
|
||||
"account_existence_string",
|
||||
"account_missing_string",
|
||||
"account_missing_code",
|
||||
"known_accounts",
|
||||
"category",
|
||||
"valid"
|
||||
],
|
||||
"properties": {
|
||||
"name": {
|
||||
"$id": "#root/sites/items/name",
|
||||
"title": "Name",
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"101010.pl"
|
||||
],
|
||||
"pattern": "^.*$"
|
||||
},
|
||||
"check_uri": {
|
||||
"$id": "#root/sites/items/check_uri",
|
||||
"title": "Check_uri",
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"https://101010.pl/@{account}"
|
||||
],
|
||||
"pattern": "^.*$"
|
||||
},
|
||||
"account_existence_code": {
|
||||
"$id": "#root/sites/items/account_existence_code",
|
||||
"title": "Account_existence_code",
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"200"
|
||||
],
|
||||
"pattern": "^.*$"
|
||||
},
|
||||
"account_existence_string": {
|
||||
"$id": "#root/sites/items/account_existence_string",
|
||||
"title": "Account_existence_string",
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"@101010.pl"
|
||||
],
|
||||
"pattern": "^.*$"
|
||||
},
|
||||
"account_missing_string": {
|
||||
"$id": "#root/sites/items/account_missing_string",
|
||||
"title": "Account_missing_string",
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"The page you are looking for isn't here."
|
||||
],
|
||||
"pattern": "^.*$"
|
||||
},
|
||||
"account_missing_code": {
|
||||
"$id": "#root/sites/items/account_missing_code",
|
||||
"title": "Account_missing_code",
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"404"
|
||||
],
|
||||
"pattern": "^.*$"
|
||||
},
|
||||
"known_accounts": {
|
||||
"$id": "#root/sites/items/known_accounts",
|
||||
"title": "Known_accounts",
|
||||
"type": "array",
|
||||
"default": [],
|
||||
"items":{
|
||||
"$id": "#root/sites/items/known_accounts/items",
|
||||
"title": "Items",
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"szekspir"
|
||||
],
|
||||
"pattern": "^.*$"
|
||||
}
|
||||
},
|
||||
"category": {
|
||||
"$id": "#root/sites/items/category",
|
||||
"title": "Category",
|
||||
"type": "string",
|
||||
"default": "",
|
||||
"examples": [
|
||||
"social"
|
||||
],
|
||||
"pattern": "^.*$"
|
||||
},
|
||||
"valid": {
|
||||
"$id": "#root/sites/items/valid",
|
||||
"title": "Valid",
|
||||
"type": "boolean",
|
||||
"examples": [
|
||||
true
|
||||
],
|
||||
"default": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user