RedSiege / EyeWitness

EyeWitness is designed to take screenshots of websites, provide some server header info, and identify default credentials if possible.
https://www.christophertruncer.com/eyewitness-usage-guide/
GNU General Public License v3.0
5.02k stars 851 forks source link

Recovering from a hung session #555

Closed z0kk closed 2 years ago

z0kk commented 2 years ago

I see that others have reported that EyeWitness can sometimes indefinitely hang, and that the session can be recovered by running UPDATE http SET complete = 1 WHERE complete = 0; against the database. This is great, but is there a way to identify the problemic URL and only updating the complete column for that particular site?

The reason I ask is because sometimes Eyewitness hangs when there are still many URLs to be screenshotted. Stopping Eyewitness and starting it again with --resume usually allows it to continue but it sometimes requires doing this several times before it reaches the point when it can no longer continue. Updating the complete column before this point would exclude URLs that can potentially be captured, and stopping/resuming the app several times requires some additional babysitting (at least when the list of URLs to capture is in the thousands).

If you have any ideas on how to identify the URL causing issues, and removing just that particular URL from the database (I don't actually see any URLs in the db), that would be helpful.

ChrisTruncer commented 2 years ago

I don't really think there is a way except seeing what is displayed to the console and then checking the URLs manually yourself. There's just not really another way to do it, and unfortunately we can't really fix anything code wise if the web server just causes a response to hang. There is supposed to be a timeout, but that also is going to be set in the underlying library vs. the EyeWitness code. So any fix to ignoring a timeout would need to be in the library.

ChrisTruncer commented 2 years ago

With that said, I am always open to seeing URLs that cause EyeWitness to hang to see if there's any way we can somehow account for them.