Michael Zalewski, reputado consultor y desarrollador en asuntos de seguridad, ha desarrollado para Google «Skipfish», un potente y rápido escáner de vulnerabilidades web que sin lugar a dudas dará que hablar. Por lo poco que he podido comprobar desde que lo he instalado, cumple fielmente con casi todo lo que se anuncia en cuanto a fluidez y certeza en los análisis.
Para compilarlo, una vez desempaquetado, sólo necesitarás usar «make» pero te recuerdo que necesitarás instalar la librería libidn primeramente.
Skipfish está escrito intégramente en «C», se distribuye gratuitamente bajo una Licencia Apache versión 2.0 y está disponible para sistemas GNU/Linux, FreeBSD 7.0+, MacOS X y Windows (Cygwin). Esta herramienta de seguridad cuenta entre otras, con las siguientes funciones hablando de detección de posibles fallos de seguridad;
* Alertas de riesgo alto:
o Server-side SQL injection (including blind vectors, numerical parameters).
o Explicit SQL-like syntax in GET or POST parameters.
o Server-side shell command injection (including blind vectors).
o Server-side XML / XPath injection (including blind vectors).
o Format string vulnerabilities.
o Integer overflow vulnerabilities.
* Alertas de riesgo medio:
o Stored and reflected XSS vectors in document body (minimal JS XSS support present).
o Stored and reflected XSS vectors via HTTP redirects.
o Stored and reflected XSS vectors via HTTP header splitting.
o Directory traversal (including constrained vectors).
o Assorted file POIs (server-side sources, configs, etc).
o Attacker-supplied script and CSS inclusion vectors (stored and reflected).
o External untrusted script and CSS inclusion vectors.
o Mixed content problems on script and CSS resources (optional).
o Incorrect or missing MIME types on renderables.
o Generic MIME types on renderables.
o Incorrect or missing charsets on renderables.
o Conflicting MIME / charset info on renderables.
o Bad caching directives on cookie setting responses.
* Alertas de bajo riesgo:
o Directory listing bypass vectors.
o Redirection to attacker-supplied URLs (stored and reflected).
o Attacker-supplied embedded content (stored and reflected).
o External untrusted embedded content.
o Mixed content on non-scriptable subresources (optional).
o HTTP credentials in URLs.
o Expired or not-yet-valid SSL certificates.
o HTML forms with no XSRF protection.
o Self-signed SSL certificates.
o SSL certificate host name mismatches.
o Bad caching directives on less sensitive content.
* Alertas internas:
o Failed resource fetch attempts.
o Exceeded crawl limits.
o Failed 404 behavior checks.
o IPS filtering detected.
o Unexpected response variations.
o Seemingly misclassified crawl nodes.
* Otros datos de interés:
o General SSL certificate information.
o Significantly changing HTTP cookies.
o Changing Server, Via, or X-… headers.
o New 404 signatures.
o Resources that cannot be accessed.
o Resources requiring HTTP authentication.
o Broken links.
o Server errors.
o All external links not classified otherwise (optional).
o All external e-mails (optional).
o All external URL redirectors (optional).
o Links to unknown protocols.
o Form fields that could not be autocompleted.
o All HTML forms detected.
o Password entry forms (for external brute-force).
o Numerical file names (for external brute-force).
o User-supplied links otherwise rendered on a page.
o Incorrect or missing MIME type on less significant content.
o Generic MIME type on less significant content.
o Incorrect or missing charset on less significant content.
o Conflicting MIME / charset information on less significant content.
o OGNL-like parameter passing conventions.
Página de Skipfish en Google Code | Más info | Fuente (ENG).