تعطل Wapiti مشروع ASP.NET الخاص بي. لماذا ا؟ كيف أصلحه؟
سؤال
هيريس فحص واحد من wapiti. لاحظت عندما كان لدي صور تم تحميلها (يمكن للمستخدمين تحميل) أحصل على تعطل من قبل Launching module crlf
. وبعد لذلك فقط استخدام مثيل طازج من موقعي، ركضت هذا وحصلت على النتيجة أدناه.
أسئلتي هي 1. كيف يمكنني إصلاح الأعطال 2. كيف يمكنني معرفة ما يسبب التعطل. لقد استخدمت -V 2 لمعرفة عنوان URL وسجلها في تطبيقي. في كلتا الحالتين، لا أرى أي مشاكل وتعطل المشروع خارج التعليمات البرمجية الخاصة بي 3. كيف يمكنني حل تحذير Unicode أدناه؟
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
المحلول
يستطيع Wapiti تحطم التطبيقات لأنه يستخدم الكثير من التطبيق الخاص بك. تعقب مكدس Wapiti عند إجراء اختبار XSS، ولا أعتقد أن اختبار XSS يمكن أن يحطم تطبيقا. ومع ذلك، من خلال تقديم الكثير من نوع واحد من الطلب، فإن هذا قد يسبب حالة dos. تحتاج إلى تعقب الطلب الأخير الذي صنعه Wapiti. Wapiti لديه وضع Verbose، وأعتقد أن -V وسيتم طباعة كل طلب يجعله يجعله. بمجرد أن يكون لديك الملف الذي يتعطل، يجب عليك مراجعة ذلك يدويا.
تستخدم وحدة هجوم حقن SQL العمياء في Wapiti وظيفة MySQL () سوف dos. خادم MySQL الخاص بك، أوصي بتشغيل هذا واحد إذا كنت تواجه مشكلة في مسح موقعك بأكمله.