2010-02-12 4 views
2

와피 티를 한 번 스캔합니다. 나는 내가 이미지를 업로드했을 때 (사용자가 업로드 할 수 있음), 내가 Launching module crlf 전에 충돌을 일으킨다는 것을 알아 차렸다. 그래서 내 사이트의 신선한 인스턴스를 사용하여 이것을 실행하고 아래에 결과를 얻었다.wapiti가 내 ASP.NET 프로젝트를 중단시킵니다. 왜? 어떻게 고칠 수 있니?

내 질문 1. 어떻게 내가 사고 원인을 찾을 수있는 방법 충돌 2. 문제를 해결 할 수 있습니다. -v 2를 사용하여 URL을 찾아 내 앱에 기록했습니다. 두 경우 모두 어떤 문제가 보이지 않고 프로젝트가 내 코드 외부에서 충돌합니다. 3. 어떻게 아래의 유니 코드 경고를 해결합니까? 이 응용 프로그램을 많이 사용하기 때문에

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 

답변

2

와피 티 응용 프로그램을 중단 할 수 있습니다. Wapiti 스택은 XSS 테스트를 수행 할 때 추적되었으며 xss 테스트가 애플리케이션을 중단시킬 수 있다고 생각하지 않습니다. 그러나 1 종류의 요청을 많이 제출하면 DoS 조건이 발생할 수 있습니다. Wapiti가 마지막으로 요청한 사항을 추적해야합니다. 와피 티 (Wapiti)는 장황한 모드를 가지고 있는데, 나는 그것의 -v를 생각하고 그것이하는 모든 요청을 출력 할 것이라고 생각한다. 충돌이 발생한 파일을 수동으로 검토해야합니다.

와피 티의 블라인드 SQL 인젝션 공격 모듈은 mysql의 벤치 마크() 기능을 사용합니다. 당신의 mysql 서버는입니다. 사이트 전체를 스캔하는 데 문제가 있으면이 기능을 끄는 것이 좋습니다.

+0

>> URL을 찾아서 내 응용 프로그램에 기록하기 위해 -v 2를 사용했습니다. 두 경우 모두 어떤 문제가 보이지 않고 프로젝트가 코드 외부에서 충돌합니다. > 충돌하는 파일이 있으면 수동으로 검토해야합니다. 내가 요청한 URL 요청을 연결해 보았습니다. 아무 일도 없었습니다. 때로는 와피 티가 내 로그에있는 URL을 쓰지 못하는 경우가 있습니다. Application_BeginRequest (object sender, EventArgs e) {filewr.WriteLine (Context.Request.RawUrl); 어느 날 사용하지 않는 libs (elmah, sqlite). 또한 내 이미지 URL (/blah.[png|jpg) 중 하나를 방문하면 충돌이 발생합니다. –

+0

죄송하지만 asp.net을 잘 모릅니다. 나는 와피 티를 좋아한다. 디버거 또는 프로파일 러를 연결하여 앱이 충돌하는 곳을 확인할 수 있습니다. – rook