>  기사  >  운영 및 유지보수  >  sqlmap에 대한 문제를 분석하는 방법

sqlmap에 대한 문제를 분석하는 방법

WBOY
WBOY앞으로
2023-05-27 13:07:561581검색

0x00 개요

최근 sqlmap을 인젝션 테스트에 사용할 때 이상한 현상이 발생했습니다. sqlmap의 상위 버전에서는 인젝션을 감지할 수 없는데, 하위 버전에서는 인젝션을 감지할 수 있고, 데이터가 실행될 수 있습니다. 비교 테스트 후 sqlmap 소스 코드를 살펴보니 두 개의 작은 구멍이 발견되었습니다.

0x01 시나리오 재현

삽입 지점 형식: json
..."whereparams":[{"name":"keyWord","value":"test"}]}
삽입 가능한 매개 변수: value
sqlmap 명령 :
python sqlmap.py -r sqlpk.txt –flush-session -vv
sqlmap v1.2.11을 주입할 수 없습니다

sqlmap에 대한 문제를 분석하는 방법

sqlmap v1.2가 성공적으로 주입되었습니다

sqlmap에 대한 문제를 분석하는 방법

v1.2.1과 동일 0 주입할 수 없음, v1.1.12 주입 가능

분석 결과 두 가지 함정은 다음과 같습니다.
(1) v1.2.11의 경계선.xml(/v1.2.10/v1.2.9/master)에는 퍼지 테스트가 없습니다. 쿼리(%) 및 v1.2(/v1.1.12/1.1.4/1.2.2)에 있습니다.
(2) v1.2.11(/v1.2.10/1.2.9/master)은 이 매개변수를 주입하려면(내부에 y-inject가 선택된 경우에도) json의 특정 매개변수를 *로 수동으로 설정해야 합니다. 그렇지 않으면 페이로드가 직접 따라가면 json을 주입할 수 없지만 v1.2(/v1.1.12)는 기본적으로 Enter(y)를 눌러 json의 특정 매개변수를 주입할 수 있습니다.

0x02 상세 테스트

함정(1):
먼저 sqlmap의 페이로드 구성을 이해하세요:

sqlmap에 대한 문제를 분석하는 방법

//사진 출처 https://www.freebuf.com/colum...

Take a v1.2의 테스트 페이로드:

sqlmap에 대한 문제를 분석하는 방법

사용된 페이로드: %' 및 5731=5731 및 '%'='
이것은 매우 일반적인 검색 상자 삽입입니다
V1.2의 경계.xml을 살펴보세요.

sqlmap에 대한 문제를 분석하는 방법

v1.2.11의 경계.xml에는 퍼지 쿼리에 대한 주입 테스트가 없습니다!
https://github.com/sqlmapproj...
그래서 v1.2.11 파일에 퍼지 쿼리의 인젝션 테스트를 추가하고 인젝션 매개변수(값 등)에 수동으로 *를 추가해서 인젝션을 하게 되었습니다. 성공적인!
추가된 버전은 첨부했습니다:
https://github.com/theLSA/sql...

sqlmap에 대한 문제를 분석하는 방법

pr 오탐지가 너무 많아서 해당 페이로드가 삭제되었다는 답변을 받았으나 삭제될 예정입니다. 제한적입니다.
https://github.com/sqlmapproj...

피트 포인트(2):
v1.2와 v1.2.11의 페이로드 비교:

sqlmap에 대한 문제를 분석하는 방법

v1.2.11이 직접적으로 나타나는 것을 볼 수 있습니다 json 끝에 페이로드를 연결합니다.
주입된 매개변수 값에 *를 수동으로 추가하세요
%22whereparams%22%3A%5B%7B%22name%22%3A%22keyWord%22%2C%22value%22%3A%22*%22%7D%5D%7D
즉, 성공적으로 주입할 수 있습니다!

0x03 결론

  1. 개인적으로 퍼지 쿼리 테스트 페이로드를 추가하는 것이 좋습니다. 거짓 긍정은 거짓 부정보다 낫고 매우 일반적인 퍼지 쿼리 삽입입니다.

  2. json 매개변수가 나타나면 수동으로 추가해 보세요*(일부 sqlmap 버전의 경우).

  3. sqlmap으로 테스트할 때는 -vv를 추가하는 것이 좋습니다.

  4. 도구에 너무 의존하지 마세요. 더 안전하려면 도구 + 수동 테스트를 사용해 보세요.

위 내용은 sqlmap에 대한 문제를 분석하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제