Skip to content

Commit 444dd1c

Browse files
committed
v1.0.0 | Added basic directory brute-force
0 parents  commit 444dd1c

16 files changed

+1428
-0
lines changed

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
## URLBrute v1.0.0
2+
- Added `dir` mode with basic directory brute-force

README.md

+95
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
<h1 align="center">URLBrute</h1>
2+
<p align="center">Tool for brute-force directories on websites</p>
3+
<p align="center"></p>
4+
5+
## Avaliable Modes
6+
- Directory/File brute-force
7+
8+
## Installation
9+
### Building from Source
10+
- Install dependencies
11+
```bash
12+
go get
13+
```
14+
15+
- Build executable
16+
```bash
17+
go build
18+
```
19+
20+
- If you want to install in the `$GOPATH/bin` folder
21+
```bash
22+
go install
23+
```
24+
25+
### Using `go get`
26+
```bash
27+
go get github.com/ReddyyZ/URLBrute-GO
28+
```
29+
30+
---
31+
32+
## Help
33+
### Global
34+
```bash
35+
urlbrute --help
36+
37+
Tool for brute-force directories on websites
38+
39+
Usage:
40+
urlbrute {flags}
41+
urlbrute <command> {flags}
42+
43+
Commands:
44+
dir
45+
help displays usage informationn
46+
version displays version number
47+
48+
Flags:
49+
-h, --help displays usage information of the application or a command (default: false)
50+
-v, --version displays version number (default: false)
51+
```
52+
53+
### `Dir`
54+
```bash
55+
urlbrute dir --help
56+
57+
Scan for diretories on website
58+
59+
Usage:
60+
urlbrute {flags}
61+
62+
Flags:
63+
-c, --code Filter results by status codes (default: 200,204,301,302,307,401,403)
64+
-h, --help displays usage information of the application or a command (default: false)
65+
-i, --interval Interval between requests in ms (default: 300)
66+
-t, --timeout Request timeout (default: 10)
67+
-u, --url URL to scan
68+
-a, --useragent Set User-Agent (default: urlbrute/1.0.0)
69+
-w, --wordlist Wordlist to test
70+
```
71+
72+
---
73+
74+
## Examples
75+
- Default options
76+
```bash
77+
urlbrute dir -u google.com -w common.txt
78+
```
79+
![Default options](img/Example.png)
80+
81+
- Showing 404 status code
82+
```bash
83+
urlbrute dir -u google.com -w common.txt --code 200,404
84+
```
85+
![Status Code](img/Example1.png)
86+
87+
- Changing user-agent
88+
```bash
89+
urlbrute dir -u google.com -w common.txt --useragent useragent/1.0
90+
```
91+
![User-Agent](img/Example2.png)
92+
93+
---
94+
95+
<h2 align="center">&lt;/&gt; by <a href="https://github.com/ReddyyZ">ReddyyZ</a></h2>

bin/urlbrute

8 MB
Binary file not shown.

bin/urlbrute.exe

7.81 MB
Binary file not shown.

cli/urlbrute.go

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package cli
2+
3+
import (
4+
"fmt"
5+
"urlbrute/core"
6+
7+
"github.com/thatisuday/commando"
8+
)
9+
10+
func Run(config *core.Config) {
11+
commando.
12+
SetExecutableName("urlbrute").
13+
SetVersion(config.Version).
14+
SetDescription(config.Description)
15+
16+
commando.
17+
Register("dir").
18+
SetDescription("Scan for diretories on website").
19+
AddFlag("url,u", "URL to scan", commando.String, nil). // Required
20+
AddFlag("wordlist,w", "Wordlist to test", commando.String, nil). // Required
21+
AddFlag("code,c", "Filter results by status codes", commando.String, "200,204,301,302,307,401,403"). // Optional
22+
AddFlag("timeout,t", "Request timeout", commando.Int, 10). // Optional
23+
AddFlag("useragent,a", "Set User-Agent", commando.String, fmt.Sprintf("urlbrute/%s", config.Version_)). // Optional
24+
AddFlag("interval,i", "Interval between requests in ms", commando.Int, 300). // Optional
25+
SetAction(func(args map[string]commando.ArgValue, flags map[string]commando.FlagValue) {
26+
url, _ := flags["url"].GetString()
27+
wordlist, _ := flags["wordlist"].GetString()
28+
code, _ := flags["code"].GetString()
29+
timeout, _ := flags["timeout"].GetInt()
30+
useragent, _ := flags["useragent"].GetString()
31+
interval, _ := flags["interval"].GetInt()
32+
33+
dir := core.NewDir(url, wordlist, useragent, code, timeout, interval)
34+
core.DirBrute(dir)
35+
})
36+
37+
commando.Parse(nil)
38+
}

0 commit comments

Comments
 (0)