기술관련 정보
이 페이지는 제품의 기술적 특성에 대해 설명하고 있습니다. 새로운 버전과 오류 목록이 계속해서 업데이트 될 것입니다.
Version 1.2 (최신 버전)
개선 사항과 추가된 기능
- DB2 데이터베이스 지원
- blind SQL injection 리퀘스트 수/속도의 최적화를 위해 ASCII문자 프리셋을 만들고 수정이 가능
- 대소문자 구분 없이 blind SQL 인젝션 가능(문자 프리셋에 유용)
- Positive응답과 Negative응답을 보내는 페이지들 간의 차이점을 찾아주는 새로운 기능
- 현재의 모든 페이지 컨텍스트 (문자열 매개 변수와 쿠키)와 함께 SQL Power Injector 프로그램을 시작해 주는 Firefox Plugin이 새로 만들어짐
- 지원되는 각 DBMS 마다(시스템 테이블 (열 이름과 설명 포함), 환경 및 세션 변수, 함수, 저장된 위험 프로시저들(procs) 등) SQL injection에 관련된 정보를 포함하고 있어서 데이터베이스 "Aide Memoire"로 사용되는 광범위한 문서가 작성됨.
- blind SQL injection 문자열 안에 있는 변수 (<<@>>) 를 대체 할 범위 목록을 생성하고 자동으로 재생할 수 있게 됨
- 텍스트 파일에서 미리 정의된 목록으로 변수 범위 자동 실행
- 페이지 로드 프로세스에 사용되는 쿠키에 대한 새로운 관리 콘솔
- 페이지로드 과정에서 사용되는 쿠키들을 탐지하고 추가(Set-Cookie detection)
- 컨텍스트 정보(normal vs blind mode)를 표시하도록 사용자 인터페이스를 개선
- 문자열 매개 변수와 동일한 방식으로 인젝트 할 수 있는 쿠키 정보와 함께 새로운 Datagrid가 추가되었음
- blind SQL injection 결과의 정확도와 신뢰도 향상(문자를 찾을 수 없다면 sun문자(¤)로 대체된 것임)
- 참조자 편집 가능
- View source가 이제는 HTML을 색상을 넣어 표시하며 XML file에서 각자 정의할 수 있음
- View source에서 검색 가능
- 메뉴에서 User-Agent 선택 가능(XML file에서 새로 추가도 가능)
- 쓰레드가 더 잘 관리되며 원하는 수 만큼 증가시키는 것도 가능하게 됨(프로그램에서는 50이 최대이지만 소스코드에서 변경 가능)
- 프로그램 설정을 변경할 수 있음
- 설정 가능한 Proxy들을 지원
- SQL Server로 TOP 키워드 사용이 가능
- MySQL 4.1.0을 비롯한 낮은 버전과 높은 버전의 다른 syntax를 감안해 데이터베이스 목록에 반영
- 여러가지가 새롭게 디자인 되었고 품질 향상이 있었음
- 두가지 통합된 도구: Hex와 Char 인코더 그리고 MS SQL@options interpreter
- Form tag가 다른 Form안에 들어가 있을 때 생기는 문제(버그 수정)
- 멀티 쓰레드와 쿠키에 대한 버그(버그 수정)
Version 1.1.1
개선 사항과 추가된 기능
- Internet Explorer 7 지원 (오류 수정)
Version 1.1
개선 사항과 추가된 기능
- Sybase/Adaptive Server Enterprise를 지원
- 페이지를 로딩시 더이상 JavaScript 에러로 인한 (짜증나는) 팝업창이 뜨지 않음
- 페이지 로딩 향상
- redirection, has moved, refresh, “no form tags”를 탐지하게 되었고 frame set은 새로 디자인되고 향상되었음
- URL 생성 향상
- SSL 지원
- 모든 form들을 탐지하고 불러옴
- 모든 IFrame을 탐지하고 불러옴
- 탐지된 각 form의 매소드 타입을 얻음 (색상 코드와 함께 [GET] 이나 [POST]를 앞에 넣음)
- Form에 분명한 행동이 없는 경우 현 페이지를 자동으로 재사용 한다. (디폴트 브라우저 동작)
- Select value, checkbox, 텍스트 영역 html 개체 추가
- Http와 Https를 명확히 함
- 웹 사이트의 언어 자동 탐지 옵션
- XML file에 저장과 불러오기 세션
- 쓰레드가 보다 잘 관리됨
- 구현된 업데이트 체크
- blind SQL injection위한 퍼센트와 진행표시 줄
- 요청된 웹 서버에 IE6 사용자 에이전트 보내기
- .Net Framework 2.0만 설치된 컴퓨터에도 설치 가능
- 여러가지가 새롭게 디자인 되었고 품질 향상이 있었음
Version 1.0
기능
- Windows, Unix, Linux 운영체제에서 지원
- SQL Server, Oracle, MySQL과 호환
- 웹 페이지의 매개변수 자동 호출(GET나 POST)
- submit 페이지를 자동으로 찾아줌
- 단일 SQL injection
- Blind SQL injection
- 페이지 응답의 true/false나 쿠키 결과를 비교
- 시간 지연
- 사용자 정의 브라우저에서 SQL injection 응답
- 세부 조정 매개변수 injection
- 프로그램이 SQL injection을 실시하는데 걸리는 시간을 최적화 하기 위해 예상 결과의 길이와 수의 크기를 매개변수화 할 수 있음
- 멀티쓰레드
- IDS 나 필터 검출에 대비해 빈칸을 빈 주석 /**/으로 대체하는 옵션
- 보내기 전에 특수 문자를 자동으로 인코딩
- 미리 정의된 SQL 에러들을 결과 페이지에서 자동으로 탐지함
- 미리 정의된 단어나 문장을 결과 페이지에서 자동으로 탐지함
- 실시간 결과
- 인증 쿠키 삽입 가능
- 반환된 페이지의 HTML 소스 코드를 볼 수 있음
- 반환된 페이지에서 일반적인 SQL 에러들을 자동으로 탐지함
위로
Version 1.1
프로그램 시작 시 "The parameter is incorrect"에러가 뜰 것입니다.
프로그램 시작 시 혹은 페이지를 불러오려고 할 때 이와 같은 에러가 나타날 것입니다. Internet Explorer 7 설치 후에 생기는 에러입니다.
원인: 이 작은 브라우저는 Internet Explorer가 제공하는 라이브러리(SHDocVw.dll)를 필요로 하는데 version 7에서는 몇몇 라이브러리의 동작이 변화되었습니다. SQL Power Injector에서 페이지를 초기화 할 때 이를 사용하니 분명 충돌이 일어날 것입니다.
해결방법: 쉽지만 귀찮은 방법은 version 1.1.1에서 이를 수정해 제공하기 전까지 IE7을 지우고 IE6를 다시 설치하는 것입니다. 두번째 가장 어려운 방법은 "http://about:blank" 를 "about:blank"만으로 대체하게끔 소스코드를 수정하는 것입니다. axwbHtmlResult.Navigate("http://about:blank", ref o, ref o, ref o, ref o)의 3834 번째 줄과 axwbHtmlInitializor.Navigate("http://about:blank", ref ob, ref ob, ref ob, ref ob) 의 3840번째 줄에서 찾을 수 있습니다. 이 방법에 대해 어떤 QA도 하지 않았지만 몇가지 테스트해 본 결과 이 방법이 통한다는 것을 알게 되었습니다.
현재 상태: version 1.1.1에서 수정되었음
Form tag가 다른 Form tag 안에 들어 있을 때 생기는 문제
프로그램이 어떤 페이지를 불러오는데 Form tag가 다른 Form tag안에 들어가 있으면"Specified cast not valid"라는 에러를 발생시킵니다. 가끔 드문경우 불러오는 것이 성공할 때도 있는데 Datagrid에서 헤매는 동안 "Index was outside the bounds of the array"라는 메세지가 뜰 것입니다.
원인: Form tag는 다른 Form tag안에 들어있을 수 없습니다. W3C와 호환되지 않는 좋지 않은 디자인입니다. 결과적으로 결함이 있는 Form은 브라우저에 의해 무시되고 모든 입력값은 상위 Form tag에 속하는 것으로 여겨질 것입니다. SQL Power Injector가 그 페이지를 읽어오려고 할 때 결함이 있는 Form tag는 IHTMLFormElement 대신에 IHTMLUnknownElement tag로 해석될 것이고 "Specified cast not valid"를 발생시킵니다.
해결방법:페이지를 컴퓨터에 저장하고 결함이 있는 Form tag를 지우십시오. 그리고 다시 읽어오십시오. 프로그램이 그 파일을 읽어오기 위해서는 파일이 웹서버에 있어야 합니다. 해결방법이 그다지 훌륭하지 않아서 미안하지만 이런 문제가 그다지 자주 생기지는 않을꺼라 생각합니다.
현재 상태: version 1.2에서 수정되었고 사용가능함
Version 1.0
Blind mode에서 시작을 클릭한 후에도 프로그램이 계속 보이는 현상
가끔 blind injection을 시작할 때 프로그램이 계속 보일것입니다.
원인:쓰레드가 OS에 의해 잘 관리되지 않아 생기는 문제로 여겨집니다.
해결방법 : 프로그램을 종료하고 다시 시작하십시오.
현재 상태: version 1.1에서 수정됨
status tab을 클릭한 후 에러가 났습니다.
어떤 경우에는 페이지를 불러온 후 status 섹션의 탭을 클릭하면 "Specified cast not valid" 라는 에러가 발생합니다.
원인: 찾고있습니다. 아마도 뭔가 바보같은 오류인것 같은데...
해결방법: N/A
현재 상태: version 1.1에서 수정됨
FillGetDataArray 메서드에서 "Object reference not set to an instance of an object"라는 에러가 났습니다.
POST를 사용해 페이지를 불러왔는데 웹페이지에 Form tag가 없다는 메세지를 받은 다음에 GET옵션을 선택하고 Load page버튼을 다시 누르면 이런 에러가 발생합니다.
원인: 실행하기 전에 먼저 잘 살펴 봐야 합니다.
해결방법: 프로그램을 종료하고 다시 시작하십시오. 그리고 GET 옵션을 먼저 선택하고 Load page 버튼을 누르십시오.
현재 상태 : version 1.1에서 수정됨
FillLoadedPostDataArray에서 "Object reference not set to an instance of an object" 라는 에러가 났습니다.
POST를 선택하고 Load Page를 클릭하면 이런 에러가 발생합니다. 저는 한번도 이 버그를 재현할 수 없었기에 누군가 발견하고 어떻게 되는지 알려준다면 큰 도움이 될 것입니다.
원인: 한번도 재현할 수 없었기에 원인을 말할 수 없습니다. FillGetDataArray로 똑같이 시도해 보았지만 되지 않았습니다. 아마도 다른 문제점을 고치면서 알아낼 수 있을 것입니다. .
해결방법: N/A
현재 상태: version 1.1에서 수정됨
어떤 확장자 없이 페이지를 불러오는 중 LoadInitialURL 에서 "Object reference not set to an instance of an object"라는 에러가 났습니다.
확장자가 없는 URL(ex: http://foofoo/foo)을 웹페이지에 할당하고 Load Page 버튼을 누르는 경우 이런 문제가 발생합니다. 여태까지는 이 에러를 재현할 수 없었기에 여전히 찾고 있습니다.
원인: 재현할 수 없기에 원인을 말할 수 없습니다.
해결방법: N/A
현재 상태: version 1.1에서 수정됨
.Net framework 2.0 만 설치되어 있는데 SQL Power Injector를 설치할 수 없습니다.
.Net framework 2.0만 설치되어 있다면 설치가 안 될 것입니다.
원인: .Net MSI의 생성과 함께 자동으로 설정되는 설치 조건입니다.
해결방법: 두 가지 미친 방법만 있습니다. regmon을 이용해 framework 버전 감지 과정을 우회하거나 .Net framework 1.1. I을 설치하는 것입니다. 하지만 두번째 것은 하지 않는게 좋겠지요. 하지만 그것이 해결방법 입니다.
현재 상태: version 1.1에서 수정됨
위로Copyright © 2006-2014 Francois Larouche