https://github.com/firefart/its-a-trap
Simple golang webserver that listens for basic auth or post requests and sends a notification when a user enters a password.
https://github.com/firefart/its-a-trap
basic-authentication go golang hacking phishing post tool tools webserver
Last synced: 6 months ago
JSON representation
Simple golang webserver that listens for basic auth or post requests and sends a notification when a user enters a password.
- Host: GitHub
- URL: https://github.com/firefart/its-a-trap
- Owner: firefart
- Created: 2023-12-13T08:42:49.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-05T12:06:03.000Z (over 1 year ago)
- Last Synced: 2024-10-14T17:17:33.835Z (over 1 year ago)
- Topics: basic-authentication, go, golang, hacking, phishing, post, tool, tools, webserver
- Language: HTML
- Homepage:
- Size: 104 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# its-a-trap
Simple golang webserver that listens for basic auth or post requests and sends a notification when a user enters a
password.
You need to add your custom templates and post the `username` and `password` parameter to `/login` when using the post
mode.
## Folder Layout
```text
its-a-trap/custom
├── assets
│ └── styles.css
└── templates
├── finish.html
└── index.html
```
This will serve `index.html` and show `finish.html` upon sending a post request. You can use the `asset_folder` to store
your custom assets needed for the templates. In basic auth mode only `finish.html` is shown.
## basic auth example
```json
{
"server": {
"listen": "127.0.0.1",
"port": 8000
},
"method": "basic",
"cloudflare": false,
"timeout": "5s",
"basic": {
"realm": "restricted"
},
"template": {
"folder": "./custom/templates",
"index_template": "index.html",
"finish_template": "finish.html",
"asset_folder": "./custom/assets"
}
}
```
## post example
```json
{
"server": {
"listen": "127.0.0.1",
"port": 8000
},
"method": "post",
"cloudflare": false,
"timeout": "5s",
"template": {
"folder": "./custom/templates",
"index_template": "index.html",
"finish_template": "finish.html",
"asset_folder": "./custom/assets"
}
}
```
In POST mode you have access to the following variables inside the template:
- `{{ .LoginURL }}` - The URL to post to
- `{{ .UsernameParameter }}` - the username parameter name
- `{{ .PasswordParameter }}` - the password parameter name
Example:
```html
Username:
Password:
```