Closed andresriancho closed 6 years ago
Works:
#grep symfony
#grep get_emails
#grep dom_xss
#grep path_disclosure
#grep cross_domain_js
#grep strange_http_codes
#grep click_jacking
#grep strange_parameters
#grep ssn
#grep credit_cards
#grep directory_indexing
#grep http_auth_detect
#grep strange_headers
#grep code_disclosure
grep analyze_cookies
Freezes (a little bit, not much)
#grep symfony
#grep get_emails
#grep dom_xss
#grep path_disclosure
#grep cross_domain_js
#grep strange_http_codes
#grep click_jacking
#grep strange_parameters
#grep ssn
#grep credit_cards
#grep directory_indexing
#grep http_auth_detect
#grep strange_headers
grep code_disclosure
grep analyze_cookies
Just noticed that these two are also enabled by plugin dependencies:
error_pages
error_500
Freezes ~10 seconds
#grep symfony
#grep get_emails
#grep dom_xss
#grep path_disclosure
#grep cross_domain_js
#grep strange_http_codes
#grep click_jacking
#grep strange_parameters
#grep ssn
#grep credit_cards
#grep directory_indexing
#grep http_auth_detect
grep strange_headers
grep code_disclosure
grep analyze_cookies
Freezes ~15 seconds
#grep symfony
#grep get_emails
#grep dom_xss
#grep path_disclosure
#grep cross_domain_js
#grep strange_http_codes
grep click_jacking
grep strange_parameters
grep ssn
grep credit_cards
grep directory_indexing
grep http_auth_detect
grep strange_headers
grep code_disclosure
grep analyze_cookies
This freezes for at least 60 seconds:
grep symfony
grep get_emails
grep dom_xss
grep path_disclosure
grep cross_domain_js
grep strange_http_codes
#grep click_jacking
#grep strange_parameters
#grep ssn
#grep credit_cards
#grep directory_indexing
#grep http_auth_detect
#grep strange_headers
#grep code_disclosure
#grep analyze_cookies
Also freezes for at least 60 seconds:
grep symfony
grep get_emails
grep dom_xss
grep path_disclosure
#grep cross_domain_js
#grep strange_http_codes
#grep click_jacking
#grep strange_parameters
#grep ssn
#grep credit_cards
#grep directory_indexing
#grep http_auth_detect
#grep strange_headers
#grep code_disclosure
#grep analyze_cookies
No lock with:
grep symfony
grep get_emails
#grep dom_xss
#grep path_disclosure
#grep cross_domain_js
#grep strange_http_codes
#grep click_jacking
#grep strange_parameters
#grep ssn
#grep credit_cards
#grep directory_indexing
#grep http_auth_detect
#grep strange_headers
#grep code_disclosure
#grep analyze_cookies
So the problem seems to be with:
grep dom_xss
grep path_disclosure
Or
grep symfony
grep get_emails
grep dom_xss
grep path_disclosure
Long freeze with:
grep dom_xss
grep path_disclosure
Got a long freeze only when enabling:
grep path_disclosure
Theory: The grep plugin is locking the KB or DBMS, other parts of the framework want to read from it and since it is locked that is impossible.
The bug seems to be in the esm.c external lib
The problem
I would have expected for a timeout error to block one of the threads which sends HTTP requests, not all of them. Also, if the threads which send HTTP requests are locked or something, I would still expect these lines appearing every ~30 seconds:
It seems that this is not an output plugin / manager issue, since when the output is frozen the framework is not sending HTTP requests.
Debugging
should_grep
to always return False and the freezing stopped.Lines that seem to generate lock
I just replaced the call to
grep_wrapper
with a sleep:And the scan finished. So it seems that one or more of the enabled grep plugins is freezing the scan by adding a lock.