리얼월드 (Real world)

메가스터디 SQL Injection 취약점

2020. 3. 5. 00:00

현대건설힐스테이트배구단 레프트 고예림

 

Attack Vector.

학교 정보를 수정하는 부분에서 발생하는 취약점이다. 

 

 

 해당 페이지에서 학교 검색을 하면 schCd(학교 고유코드)와 schNm(학교이름)을 설정하는데, 해당 입력값에 대한 적절한 검증 절차가 이루어지지 않은 채로 데이터베이스에 값을 저장하기 때문에 발생한다.

 

Exploit.

 개발자 도구를 이용해서 schNm의 value attribute를 수정할 수 있는데, 이를 `한국디지털미'+HOST_NAME()+'디어고등학교`로 설정하게 되면 HOST_NAME() 함수가 실행되고 string concatenation 연산이 수행되어 학교 이름에 HOSTNAME이 들어가는 것을 볼 수 있다. 

`한국디지털미'+CONCAT(0x3a6e766f3a, 0x52785443657a524b5641, 0x3a6d6c623a)+'디등학교`

 

`한국디지털미디어'+user+'고등학교`

 

 

Patch. (2020.03.05.)

 

 

 SQL에 영향을 줄 수 있는 싱글쿼터(0x27)이 제대로 escaped 되어 데이터베이스에 저장되는 것을 볼 수 있다. 메가스터디는 항상 이런 패치가 빠르고 피드백이 잘 되어 믿음직스럽다.