input-field-finder
input-field-finder copied to clipboard
Spiders given URLs for input fields.
input-field-finder
Spiders the domain of a single URL or a set or URLs and prints out all <input> elements found on the given domain and scheme (http/https).
Why?
Input fields are the most common vector/sink for web application vulnerabilities. I wrote this tool to help automate the reconnaissance phase when testing web applications for security vulnerabilities.
Usage
This is a command-line tool. Use the following flags to run the program:
-urls: URL or comma-separated list of URLs to search. The domain and scheme will be used as the whitelist.-url-file: The location (relative or absolute path) of a file of newline-separated URLs to search.-concurrency: The level of concurrency in network requests and internal data processing.0 - 5;0= no concurrency,5= very high level of concurrency. Default value of3.-v: Enable verbose logging to the console.-vv: Enable doubly-verbose logging to the console.
Examples:
input-field-finder -urls=http://www.example.com/: Searcheswww.example.comusing thehttpscheme.input-field-finder -urls=https://www.example.com/: Searcheswww.example.comusing thehttpsscheme.input-field-finder -urls=http://127.0.0.1/: Searches127.0.0.1using thehttpscheme.input-field-finder -urls=http://127.0.0.1:8080/: Searches127.0.0.1using thehttpscheme, on port 8080.input-field-finder -concurrency=0 -urls=http://127.0.0.1:8080/: Searches127.0.0.1using thehttpscheme, on port 8080, with no concurrency.input-field-finder -concurrency=5 -urls=http://127.0.0.1:8080/: Searches127.0.0.1using thehttpscheme, on port 8080, with a very high level of concurrency.input-field-finder -urls=http://127.0.0.1,http://www.example.com: Searches127.0.0.1andwww.example.comusing thehttpscheme, on port 8080.input-field-finder -url-file=/root/urls.txt: Searches the URLs found in the file located at the absolute path of/root/urls.txt.input-field-finder -url-file=urls.txt: Searches the URLs found in theurl.txtfile located in the current directory.input-field-finder -v -urls=http://www.example.com/example/: Searcheswww.example.comusing thehttpscheme, starting at the/example/path, with verbose logging.input-field-finder -vv -urls=http://www.example.com/example/page/1?id=2#heading: Searcheswww.example.comusing thehttpscheme, starting at the/example/page/1path, with a query ofid=2, the#headingURL fragment, with verbose logging.
Binaries
The program has been written in Go, and as such can be compiled to all the common platforms in use today. The following architectures have been compiled, and can be found in the releases tab:
- Windows amd64
- Windows 386
- Linux amd64
- Linux 386
- OSX amd64
- OSX 386
Alternatively, you can compile the code yourself. See Dave Cheney's excellent post on the topic.
Planned Improvements
- ~~Ability to pass multiple URLs in the
-urlflag.~~ - ~~Ability to pass in a file of URLs.~~
- "Cookie jar" functionality for authenticated scans.
- Ability to pass in a file of blacklist URLs (regex values?)
- Support for single-page applications (SPA), by rendering JavaScript in pages, and THEN parsing the responses.