Home Privilege elevation by SQL Injection
Post
Cancel

Privilege elevation by SQL Injection

워게임을 풀다 발견한 SQL Injetion을 통한 권한상승 공격을 알아봅시다.
실무에서도 발견 가능성이 존재하기에 항상 열린 생각을 가져야합니다.


Attack Scenario

  • 계정의 권한은 DB에 저장되어 있음
  • 일반 계정을 생성할 때 자동으로 DB에 일반 권한이 추가됨
  • 쿼리 구조를 파악(추측)하여 insert 구문에 SQL Injection이 발생할 경우 관리자 권한의 계정을 생성할 수 있음

관리자 권한의 계정과 일반 권한의 계정의 권한 부여는 DB에서 설정됩니다.

insert

위와 같이 권한이 계정이 생성될 때 자동으로 권한이 normal로 생성될 경우
쿼리 구조를 알맞게 맞춰 admin 권한을 가진 계정을 생성할 수 있습니다.

sqli2


후기

실무에서는 소스코드를 보기가 상당히 드물기 때문에 항상 열린 마음으로 여러가지 생각을 해야겠습니다.