sqlMap를 통한 SQL 주입 공격에 취약점 확인
4 개 중 1 페이지
가장 심각하고 광범위한 애플 리케이션 취약성 중에는 우려 노트 SQL-인젝션에 관한. 이론 및 권고가 지난 10 / 십오년의 개발에 대한 구체적인 못했지만, 취약점이 클래스는 동시에 공격자들에게 가장 매력적인 대상 중 하나와 내부 웹 애플 리케이션의 프로그래머들과 메인 테이너들에게는 큰 악몽이 남아 외부, 그 중요성은 영구적으로 표시 취약성의 다양한 10 대 목록에 설치될 가능성이 OWASP (오픈 웹 애플 리케이션 보안 프로젝트).
이 문서에서는 sqlMap, 발견 프로세스를 자동화하고 SQL 주입 - 적응 백엔드 애플 리케이션 대상으로 DBMS로를 이용하는 강력한 오픈 소스 도구를 소개합니다.
전제 조건
이 문서는 이미 SQL-분사의 기본 지식이있는 독자를 대상으로,이 문서에 이러한 취약점 및 / 또는 그것을 방지하기 위해 대책의 원인을 취급됩니다, 지식있는 중,이라도, SQL 언어로 소개되지 않습니다 기지는 성공적인 문서에 대한 필요 조건으로 간주됩니다.
sqlMap
sqlMap은 발견의 단계를 자동화하고 "SQL 주입"으로 분류된 취약점을 악용, Python으로 완전히 개발된 것을 약속 오픈 소스 도구입니다 sqlMap은 모든 주요 운영 체제에 따라서 사용할 수 있습니다. sqlMap 그것의 SQL-사출의 분석을위한 완벽한 도구를 나타냅니다 :
- 그에 따라 그 행동을 적응, 목표 DBMS (DBMS의 지문)의 유형을 감지할 수있다;
- , 손으로 분석 취약점을 강조하기 위해 종종 복잡하고 다양한 전략을 구현;
- 취약점을 식별, 공격 DBMS는 빠른있게하고, 경계 조건이 허용하면 호스트 시스템.
sqlMap 얻기
워낙 엄청난 인기로 인해 sqlMap은 매우 간단하며 대개 아카이브 (플랫폼 독립) 또는 대부분의 배포판을위한 바이너리 패키지를 다운로드 할 수 있습니다 소스 포지에 호스팅 사이트에서 직접 다운로드로 이동 얻을 GBU / 리눅스 또는 Windows .
사용하려면 항상 최신 개발 버전을 테스트하는 사람의 경우, 명령을 통해 Subversion 저장소를 결제로 진행할 수 있습니다 :
svn 체크 아웃 https://svn.sqlmap.org/sqlmap/trunk/sqlmap sqlMap-dev을개발중인 코드가 있기 때문에, Subversion 저장소가 sqlMap 버전은 종종 크게 소프트웨어의 작동에 영향을 미칠 수있는 버그에 시달리다가 포함되어 있습니다.
연구 전략
sqlMap은 SQL-인젝션 취약점의 존재를 확인하는 방법은 세 전략을 구현합니다 :
- UNION ALL : SQL-인젝션을 악용하는 기법 왕자는 두 번째 쿼리에서 합법적인 결과 데이터에 연결할 UNION의 사용이다; sqlMap 취약한 응용 프로그램은 이러한 UNION ALL SELECT 등의 쿼리를 포함하는 매개 변수 문자열에 맞는 '', NULL ... 실행이 성공적 이었다면 결과를 식별;
- 스택 쿼리 : 쿼리가 여러 개의 쿼리가 단일 통화에서 그들을 쌓아, 스택 수행하는 것입니다. 알려진 ASP / ASP.NET과 PHP에서 MS SQL Server의 예제이지만이 기능은 다음과 같습니다 그것이이 기술을하지만 부부 DBMS / 웹 프레임 워크를 사용하는 것이 가능한지 여부를 알 수 많은이 아니라 DBMS에 의해 주장되는 반대로 또한, ASP.NET과 ASP / ASP.NET / PHP와 MySQL과 PostgreSQL을에 가능합니다. 스택 검색어가 활성화되고 응용 프로그램이 취약있다면, 그것은 단순히 현재의 질의를 방해하여 임의의 SQL 코드를 삽입하고 따르도록 새로 삽입하는 것이 가능 (예 : '을, SELECT ..., -);
- 날개식 블라인드 SQL 인젝션은 모든 SQL - 사출 쉽게 인식할 수 없습니다 : 쉽게 식별 및 공격하고, 다른 있도록 더 나은 환경에서 출력되는 경우에 차이를 보여주지 구성된 웹 페이지 오류 정보에서 가장 눈에 띄는 디스플레이 출력 쿼리 구문 오류가 있습니다. 후자는 훨씬 더 어렵습 식별할 수 있으며, 공격자가 반드시 "맹목적으로"진행해야하기 때문에 이용하지만, 어떤 경우에는 당신이 자신감의 높은 학위를 확인할 수있는 부울 로직 및 응답 시간을 기반으로 몇 가지 테스트가 없습니다 SQL-사출의 존재는, sqlMap은 시리즈의 대부분을 충당하기 위해 설계된 이러한 유형의 몇 가지 검사를 구현합니다.






