관리 메뉴

Information Security

SQL Injection 본문

모바일/iOS igoat 분석

SQL Injection

HackingPractice 2019. 11. 19. 21:43

SQL Injection

- 데이터베이스 비정상적인 쿼리를 입력해 조작하는 취약점이다.

 

위치

iGoat\SQL Injection\SQLInjectionExerciseController.m

 

영향

데이터베이스 정보가 노출될 위험이 있다.

 

진단

SQL Injection 문제에서 i2sec을 먼저 입력했다.

그림 12-1 SQL Injection

그림 12-1처럼 데이터를 입력했지만 Articles 아무 내용이 보이지 않았다.

그림 12-2 Articles 내용

이번에는 입력란에 아무 내용을 입력하지 않았다.

그림 12-3 공백

아무것도 입력하지 않고 Search 했는데 2개의 기사가 보이는 것을 알 수 있다.

그림 12-4 Articles

이번에는 SQL Injection 쿼리문 ‘ or ‘1’=’1을 입력했다.

그림 12-5 SQL Injection 공격

그림 12-4에서 보이지 않는 마지막 기사가 보이는 것을 알 수 있다.

그림 12-6 SQL Injection 공격 성공

SQLInjectionExerciseController.m 소스 코드를 보면 articles.sqlite 데이터베이스 저장되어 있는 것을 알 수 있다.

그림 12-7 articles.slqite 데이터베이스

DB Browser를 이용해 articles.sqlite 데이터베이스를 열어 기사 3개가 저장되어 있는 것을 알 수 있다.

그림 12-8 DB Browser

대응방안

최소 권한으로 데이터베이스 운영, 입력 값 검증을 한다.

'모바일 > iOS igoat 분석' 카테고리의 다른 글

Key Storage Server Side  (0) 2019.11.19
Binary Patching  (0) 2019.11.19
Cross Site Scripting  (0) 2019.11.19
Server Communication  (0) 2019.11.19
Public Key pinning  (0) 2019.11.19