본문 바로가기
App hacking

[모바일 앱 취약점] Diva tutorial 7 - Input Validation Issues (Part 1)

by m_.9m 2022. 3. 19.

 

Input Validation Issues (Part 1)의 풀이이다.

 

 

 

목표를 확인해보면 유저이름을 알지 못한 채로 모든 유저의 데이터 ACCESS를 시도하는 것이다. 기본적으로 세 명의 기본 유저가 존재하고 문제는 한번의 검색에 3명의 정보가 모두 조회되어야한다.

 

 

일단 시험삼아 *를 입력하면 (*)라는 유저가 없다는 알림창을 확인할 수 있다.

 

 

 

 

 

소스코드를 확인하려고 했는데 잘 찾아보니 MainActivity라는 파일에 가이드라인처럼 어느 소스코드를 참고해야하는지 파일명이 나열되어있는 것을 확인했다. 

 

 

 

 

위의 소스코드를 참초해 SQLInjectionActivity 파일을 참조해보면 세명의 디폴트 유저값이 저장되어 있는 것을 확인할 수 있다.

 

 

 

 

시험삼아 admin의 값을 입력해본다.

 

 

 

 

 

유저이름과 카드번호가 출력되는 것을 확인한 후 한번에 세명 유저를 검색하기 위해 위의 SQL 문 입력 SELSCT문을 참고하여 싱글쿼터를 맞춰 검색해준다. ' or '1을 입력할 시 세 유저의 정보가 모두 출력되는 것을 확인할 수 있다. 이는 SQL Injection의 일부로 참조할 수 있는 이전발행글을 첨부한다.

 

 

 

2021.10.23 - [[웹 취약점] N 스터디 👩‍💻/수업 기록] - [2주차]SQL Injection - 인증우회(설명, 공격 예시)

2021.10.29 - [[웹 취약점] N 스터디 👩‍💻/수업 기록] - [3주차]SQL Injection - 데이터 추출

2021.11.04 - [[웹 취약점] N 스터디 👩‍💻/사전 조사] - [4주차]SQL Injection 대응 방안