모바일/iOS igoat 분석
SQL Injection
HackingPractice
2019. 11. 19. 21:43
SQL Injection
- 데이터베이스 비정상적인 쿼리를 입력해 조작하는 취약점이다.
위치
iGoat\SQL Injection\SQLInjectionExerciseController.m
영향
데이터베이스 정보가 노출될 위험이 있다.
진단
SQL Injection 문제에서 i2sec을 먼저 입력했다.
그림 12-1처럼 데이터를 입력했지만 Articles 아무 내용이 보이지 않았다.
이번에는 입력란에 아무 내용을 입력하지 않았다.
아무것도 입력하지 않고 Search 했는데 2개의 기사가 보이는 것을 알 수 있다.
이번에는 SQL Injection 쿼리문 ‘ or ‘1’=’1을 입력했다.
그림 12-4에서 보이지 않는 마지막 기사가 보이는 것을 알 수 있다.
SQLInjectionExerciseController.m 소스 코드를 보면 articles.sqlite 데이터베이스 저장되어 있는 것을 알 수 있다.
DB Browser를 이용해 articles.sqlite 데이터베이스를 열어 기사 3개가 저장되어 있는 것을 알 수 있다.
대응방안
최소 권한으로 데이터베이스 운영, 입력 값 검증을 한다.