Wapiti si blocca il mio progetto ASP.NET. Perché? come lo aggiusto?
Domanda
Ecco una scansione di Wapiti. Ho notato quando ho avuto le immagini caricate (gli utenti possono caricare) ottengo un crash prima di Launching module crlf
. Quindi, solo utilizzando un'istanza fresco del mio sito mi sono imbattuto questo ed ho ottenuto il risultato qui sotto.
Le mie domande sono 1. Come posso risolvere il crash 2. Come potrei scoprire che cosa sta causando il crash. Ho usato -v 2 per capire l'url e li login mia app. In entrambi i casi io non vedere eventuali problemi e il progetto in crash al di fuori del mio codice 3. In che modo posso risolvere l'avvertimento unicode sotto?
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
Soluzione
Wapiti può mandare in crash le applicazioni perché utilizza un sacco della vostra applicazione. pila Wapiti tracciato quando si fa un test di XSS, e non credo che un test XSS può mandare in crash un'applicazione. Tuttavia, inviando un sacco di 1 tipo di richiesta, allora questo potrebbe causare una condizione DoS. È necessario rintracciare l'ultima richiesta che Wapiti fatto. Wapiti ha una modalità dettagliata, credo che il suo -v e stamperà ogni richiesta che fa. Una volta che avete il file che blocca si dovrebbe rivedere manualmente.
ciechi modulo attacco SQL injection di Wapiti utilizza la funzione di riferimento di mysql (), che DoS il server MySQL, vi consiglio di girando questa una tantum se si sono hanno difficoltà a scansione l'intero sito.