sensepost / gowitness

🔍 gowitness - a golang, web screenshot utility using Chrome Headless
GNU General Public License v3.0
2.82k stars 323 forks source link

Include screenshots using domain name and 'Host' header when using nmap XML #192

Open soutzis opened 1 year ago

soutzis commented 1 year ago

Is your feature request related to a problem? Please describe. When using nmap's XML output file. there doesn't seem to be an option for using the values between the tags for taking additional screenshots.

Describe the solution you'd like It is very common for a web application to require the 'Host' header in order to serve the web application to the client, especially with servers that have multiple virtual hosts. It would be great if gowitness also took screenshots of the web application using its domain name and adding the 'Host' header automatically, all based on the values (if they exist) between the 'hostnames' tags in the nmap xml file.

For example, let's say I used nmap to scan ip 7.7.7.7 and output the results in xml format using the -oX switch. It would be really great if gowitness had the capability to issue the http/https requests with the corresponding 'Host' header in each request, based on the tag values. So instead of sending 2 requests by default, it would send 4 requests.

Since the functionality for parsing Nmap's XML files already exists, I assume that it would be quick and easy to implement.