SQL injection

Tags
Insecure Local Storage
database
SQL injection
요약
db가 있다면 sql injection이 빠질 수 없지

SQL injection

  • 웹 앱 모의해킹 해보신 분들은 친숙하실 내용.
  • 로컬 저장소를 쓰는 ios앱도 역시 유저 입력을 적절히 처리하지 않으면 injection 공격에 취약.
  • 탈옥 장치가 아니어도 가능.
  • 고의적으로 조작된 데이터에 의해 예상치 못한 행위 유발.

예시 1)

유저 입력을 받아 sql문을 완성시키는 취약한 코드
유저 입력을 받아 sql문을 완성시키는 취약한 코드
NSString *query = [NSString stringWithFormat:@"SELECT title FROM article WHERE title LIKE '%@' AND premium=0", searchString];
  • 쿼리문에 유저 입력값이 들어감.
  • 별도의 처리 구문이 없다면 SQL injection에 취약한 상태.
  • ‘ or ‘1’=‘1
  • 고전적인 SQL injection 구문을 입력해 보자.
SQL injection 성공, 숨겨둔 데이터까지 모두 조회됨
SQL injection 성공, 숨겨둔 데이터까지 모두 조회됨