워게임을 풀다 발견한 SQL Injetion을 통한 권한상승 공격을 알아봅시다.
실무에서도 발견 가능성이 존재하기에 항상 열린 생각을 가져야합니다.
Attack Scenario
- 계정의 권한은 DB에 저장되어 있음
- 일반 계정을 생성할 때 자동으로 DB에 일반 권한이 추가됨
- 쿼리 구조를 파악(추측)하여 insert 구문에 SQL Injection이 발생할 경우 관리자 권한의 계정을 생성할 수 있음
관리자 권한의 계정과 일반 권한의 계정의 권한 부여는 DB에서 설정됩니다.
위와 같이 권한이 계정이 생성될 때 자동으로 권한이 normal
로 생성될 경우
쿼리 구조를 알맞게 맞춰 admin
권한을 가진 계정을 생성할 수 있습니다.
후기
실무에서는 소스코드를 보기가 상당히 드물기 때문에 항상 열린 마음으로 여러가지 생각을 해야겠습니다.