Pergunta

Aqui está uma varredura de Wapiti. Percebo quando tive as imagens enviadas (os usuários podem fazer upload), eu tenho um acidente antes Launching module crlf. Então, apenas usando uma nova instância do meu site, executei isso e obtive o resultado abaixo.

Minhas perguntas são 1. Como faço para corrigir as falhas 2. Como posso descobrir o que está causando o acidente. Eu usei -v 2 para descobrir o URL e registrá -los no meu aplicativo. Nos dois casos, não vejo problemas e o projeto trava fora do meu código 3. Como resolvo o aviso do Unicode abaixo?

 Wapiti-2.2.1 (wapiti.sourceforge.net)
..............................
 Notice
========
This scan has been saved in the file C:\unzipped\wapiti-2.2.1\wapiti-2.2.1\src/s
cans/localhost:17357.xml
You can use it to perform attacks without scanning again the web site with the "
-k" parameter
[*] Loading modules :
        mod_crlf, mod_exec, mod_file, mod_sql, mod_xss, mod_backup, mod_htaccess
, mod_blindsql, mod_permanentxss, mod_nikto

[+] Launching module crlf

[+] Launching module exec

[+] Launching module file

[+] Launching module sql
C:\unzipped\wapiti-2.2.1\wapiti-2.2.1\src\attack\mod_sql.py:185: UnicodeWarning:
 Unicode equal comparison failed to convert both arguments to Unicode - interpre
ting them as being unequal
  if (page, tmp) not in self.attackedPOST:

[+] Launching module xss
Traceback (most recent call last):
  File "wapiti.py", line 449, in <module>
    wap.attack()
  File "wapiti.py", line 266, in attack
    x.attack(self.urls, self.forms)
  File "C:\unzipped\wapiti-2.2.1\wapiti-2.2.1\src\attack\attack.py", line 121, i
n attack
    self.attackGET(page, dictio, headers)
  File "C:\unzipped\wapiti-2.2.1\wapiti-2.2.1\src\attack\mod_xss.py", line 71, i
n attackGET
    self.findXSS(page, {}, "", code, "", payloads, headers["link_encoding"])
  File "C:\unzipped\wapiti-2.2.1\wapiti-2.2.1\src\attack\mod_xss.py", line 306,
in findXSS
    dat = self.HTTP.send(url).getPage()
  File "C:\unzipped\wapiti-2.2.1\wapiti-2.2.1\src\net\HTTP.py", line 94, in send

    info, data = self.h.request(target, headers = _headers)
  File "C:\unzipped\wapiti-2.2.1\wapiti-2.2.1\src\net\httplib2\__init__.py", lin
e 1084, in request
    (response, content) = self._request(conn, authority, uri, request_uri, metho
d, body, headers, redirections, cachekey)
  File "C:\unzipped\wapiti-2.2.1\wapiti-2.2.1\src\net\httplib2\__init__.py", lin
e 888, in _request
    (response, content) = self._conn_request(conn, request_uri, method, body, he
aders)
  File "C:\unzipped\wapiti-2.2.1\wapiti-2.2.1\src\net\httplib2\__init__.py", lin
e 853, in _conn_request
    response = conn.getresponse()
  File "C:\dev\bin\Python26\lib\httplib.py", line 974, in getresponse
    response.begin()
  File "C:\dev\bin\Python26\lib\httplib.py", line 391, in begin
    version, status, reason = self._read_status()
  File "C:\dev\bin\Python26\lib\httplib.py", line 349, in _read_status
    line = self.fp.readline()
  File "C:\dev\bin\Python26\lib\socket.py", line 397, in readline
    data = recv(1)
socket.error: [Errno 10054] An existing connection was forcibly closed by the re
mote host
Foi útil?

Solução

O Wapiti pode travar aplicativos porque usa muito do seu aplicativo. A pilha Wapiti é rastreada ao fazer um teste XSS, e não acho que um teste XSS possa travar um aplicativo. No entanto, enviando muito tipo de solicitação, isso pode causar uma condição do DOS. Você precisa rastrear o último pedido que Wapiti fez. Wapiti tem um modo detalhado, acho que é -v e imprimirá todas as solicitações que ele faz. Depois de ter o arquivo que está travando, você deve revisá -lo manualmente.

O módulo de ataque de injeção SQL de Wapiti usa a função Benchmark () do MySQL que Will Dos Seu servidor MySQL, recomendo desativar este se você tiver problemas para digitalizar todo o seu site.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top