고급 SQL 분사 스캐너 -IIS & DBO
악의적 인 사용자가 사용할 수있는 SQL 주입의 고급 메커니즘은 중요한 정보를 얻고 컴퓨터 시스템을 완전히 제어하기 위해이를 활용합니다.
설명 메모
이 기사는 컴퓨터 시스템을 손상시키는 새로운 기술을 설명하려고 시도하지 않으며 SQL 주입 기술은 매우 오래되고 알려져 있지만 동시에 매우 강력 할 수 있습니다. 이 기사는 또한 알려지지 않은 취약성의 악용을 반영하지 않으며, 이것은 알려져 있고 이미보고되었으며, 반영 할 수 있다면 악의적 인 사용자가 사용할 수있는 미공개 고급 사격 메커니즘이 중요한 정보를 얻고 컴퓨터 시스템을 완전히 제어 할 수 있도록 이용할 수 있습니다.
이 기술을 IIS 웹 서버와 결합하여 Microsoft SQL Server 데이터베이스에서 DBO (Doestance User Ristions)와 결합하면 영향을받는 서버의 제어가 완전히 손실 될 수 있습니다.
이 기사는 IIS 웹 서버를 통해 외부 웹 페이지와 상호 작용하는 SQL 데이터베이스의 오해로 인한 잠재적 위험을 설명하고 악의적 인 사용자가 이익을 얻을 수있는 방법에 대한 세부 정보를 제공합니다.
짧은 요약 (Wikipedia)
SQL 주입은 데이터 중심의 응용 프로그램을 공격하는 데 사용되는 코드 주입 기술로, 사악한 SQL 문이 실행을 위해 입력 필드에 삽입됩니다 (예 : 데이터베이스 내용을 공격자에게 덤프하기위한). SQL Injection은 SQL 문에 내장 된 문자열 문자 이스케이프 문자에 대해 사용자 입력이 잘못 필터링 된 경우 응용 프로그램의 소프트웨어에서 보안 취약성을 악용해야합니다. SQL 주입은 주로 웹 사이트의 공격 벡터로 알려져 있지만 모든 유형의 SQL 데이터베이스를 공격하는 데 사용할 수 있습니다.
SQL 주입 공격을 통해 공격자는 신원을 스푸핑하고, 기존 데이터를 조작하거나, 거래를 무효화하거나 잔액 변경과 같은 거부 문제를 일으키고, 시스템에 대한 모든 데이터의 완전한 공개를 허용하고, 데이터를 파괴하거나,이를 사용할 수 없게 만들고, 데이터베이스 서버의 관리자가됩니다.
취약성
웹 페이지에서 SQL 주입을 허용하기 위해 매개 변수를 전달하는 데 보안 문제가 있다고 가정하면 주요 문제는 IIS 웹 서버가 유효하지 않은 Transact-SQL 변환 기능을 사용하여 사용자에게 중요한 정보를 표시 할 수 있다는 것입니다. ID 매개 변수가 주입 할 수있는 다음 URL을 상상해보십시오.
https://www.victim.com/index.aspx?id=1
악의적 인 사용자는 Transact-SQL 변환 함수에 의해 ID 매개 변수의 값을 무시할 수 있습니다.
convert (int, (select+user));-
최종 URL은이 스타일입니다.
https://www.victim.com/index.aspx?id=convert(int, (select+user));-
변환 함수는 문자열을 정수로 변환하려고 시도하므로 IIS 웹 서버가 실행 된 쿼리의 값을 보여주는 심각한 오류가 발생하는 예외가 발생합니다.
일반적인 출력은 다음과 같습니다.
nvarchar 값 '{user}'를 데이터 유형 int로 변환 할 때 변환이 실패했습니다.
{user} 값이 데이터베이스 사용자의 현재 값에 해당하는 것처럼, 반환 된 값이 DBO 인 경우이 모든 것 외에도 데이터베이스 사용자가 최대 실행 권한이있어 XP_CMDSHELL TransAct-SQL 기능을 사용하여 쉘 명령을 실행할 수 있음을 알려줍니다.
최대 권한이있는 데이터베이스 사용자와 함께 웹 페이지를 사용하는 것은 시스템 관리자가 떨어지지 않아야하는 심각한 보안 오류입니다.
요약하면, 취약점은 세 가지 요소로 구성된다고 말할 수 있습니다.
- SQL 주입을 허용하는 Get/Post 매개 변수를 처리하는 오류. (소프트웨어 개발자)
- 변환 기능 정보를 표시하는 IIS 웹 서버. (Microsoft)
- 최대 권한이있는 웹 페이지의 데이터베이스 사용자를 사용하십시오. (시스템 관리자/소프트웨어 개발자)
버전 4.0 (개인)
스캐너의 확장 된 버전 4.0은 모든 기능을 갖춘 개인 저장소 (스폰서가 표시)에 있습니다.
- https://github.com/iricartb/advanced-sql-injection-scanner reelease
더 많은 정보
https://advanced-sql-injection.blogspot.com/2017/06/ivan-ricart-borges-advanced-sql.html