2024-05-30 12:35 (목)
유명 PC 쇼핑몰에서 블라인드 SQL 인젝션 취약점 발견!
상태바
유명 PC 쇼핑몰에서 블라인드 SQL 인젝션 취약점 발견!
  • 호애진
  • 승인 2013.11.14 02:25
이 기사를 공유합니다

크로스 사이트 스크립팅 및 일반적인 SQL 인젝션 취약점도 다수 포함
유명 온라인 PC 쇼핑몰에서 블라인드 SQL 인젝션(Blind SQL Injection)을 비롯해 크로스 사이트 스크립팅(cross-site scripting, XSS) 및 일반적인 SQL 인젝션(SQL Injection) 취약점이 다수 발견됐다.

이를 발견하고 데일리시큐에 제보한 문서현 양(18, Class Team 소속)은 “블라인드 SQL 인젝션 공격의 경우 해당 사이트의 SQL 오류 정보를 통해 관리자 계정을 알아낼 수 있고, SQL의 Sleep() 함수를 통해 페이지 로딩 속도를 줄일 수 있을 뿐만 아니라 데이타베이스를 추출해 회원 정보를 탈취하고 이를 외부에 유출할 수 있어 위험하다”고 밝혔다.
 
또한 데이터베이스 내에서 패스워드가 따로 암호화 돼 있지 않아 계정의 패스워드를 신속하게 추출할 수 있는 점도 문제로 지적했다.
 
블라인드 SQL 인젝션은 웹 취약점 중 하나로, SQL 인젝션과 같이 원하는 데이터를 가져올 쿼리를 삽입하는 기술이다. 이는 웹에서 SQL 삽입에 취약하나 데이터베이스 메시지가 공격자에게 보이지 않을 때 사용한다.
 
그가 발견한 블라인드 SQL 인젝션 취약점은 두개로, 첫번째는 bdNo 인자에 ‘Num And sleep(Count)’의 방식으로 공격을 하면 Sleep() 함수에 의해 카운트(Count) 초 동안의 지연 시간이 생기기 때문에 페이지 로딩이 카운트만큼 지연되게 하는 취약점이다. 예를 들어 ‘bdNo=53 And sleep(5)’라고 한다면 bdNo=53 인자에 True/False 값을 확인함과 동시에 sleep(5) 때문에 5초간 페이지 로딩이 지연된다.
 
두번째는 bdNo 인자에 union, select, HEX값 등을 통해 데이타베이스를 조회하는 방식이 이용되며, 이를 통해 DB Name, Tables Name, Columns Name, Data 추출이 가능케 하는 취약점이다.

 SQL 인젝션 취약점도 다수 발견됐다. 그가 밝힌 취약점만 6개에 달한다. 이 취약점은 웹 클라이언트의 반환 메시지를 이용해 불법 인증 및 정보를 유출하는 공격으로, 웹 응용 프로그램에 강제로 구조화 조회 언어(SQL) 구문을 삽입해 내부 데이터베이스 서버의 데이터를 유출 및 변조하고 관리자 인증을 우회할 수 있다.
 
크로스 사이트 스크립팅 취약점 역시 발견됐다. 이는 웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입할 수 있는 취약점으로, 주로 여러 사용자가 보게 되는 전자 게시판에 악성 스크립트가 담긴 글을 올리는 형태로 이뤄진다. 공격자는 이 취약점을 통해 사용자의 정보(쿠키, 세션 등)를 탈취하거나 자동으로 비정상적인 기능을 수행하게 할 수 있다.
  
문서현 양은 해당 취약점을 이용한 공격에 대응하기 위한 방안으로 “SQL 인젝션 취약점의 경우, 텍스트 박스, URL 등의 입력값 변경이 가능한 환경에서 데이터베이스 SQL문에 사용되는 ‘와 “의 입력을 적절히 필터링해야 한다”고 조언했다.
 
한편, 그는 해당 업체에 먼저 통보하려고 했으나 연락이 쉽게 닿지 않아 데일리시큐에 제보하게 됐다고 설명했다. 이에 취약점들에 대한 패치가 아직 이뤄지지 않은 상태이며, 본지는 악용 가능성을 고려해 업체명을 무기명으로 처리하고 자세한 내용을 KISA에 전달해 보안조치가 이뤄질 수 있도록 할 예정이다.
 
데일리시큐 호애진 기자 ajho@dailysecu.com
■ 보안 사건사고 제보 하기

▷ 이메일 : mkgil@dailysecu.com

▷ 제보 내용 : 보안 관련 어떤 내용이든 제보를 기다립니다!

▷ 광고문의 : jywoo@dailysecu.com

★정보보안 대표 미디어 데일리시큐 / Dailysecu, Korea's leading security media!★