일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- elasticsearch
- kibana
- CTF-d
- 파이썬
- ctf
- diva
- MFT
- 2018
- vulnhub
- igoat
- 인시큐어뱅크
- SQL Injection
- Openstack
- ESXi
- Volatility
- InsecureBank
- Docker
- 안드로이드
- logstash
- lord of sql injection
- frida
- base64
- XSS
- Suninatas
- NTFS
- beebox
- Strings
- Reflected XSS
- foremost
- otter
- Today
- Total
목록igoat (15)
Information Security
Realm Data Storage - Realm 데이터베이스는 오픈소스로 모바일 사용에 최적화된 내장 데이터베이스이다. 위치 iGoat\RealmDataStorage\RealmExerciseViewController.m 영향 민감한 정보가 노출될 위험이 있다 진단 name부분은 i2sec입력 number부분은 123456 CVV 1234 입력했다. 그림 7-1처럼 데이터를 입력했는데 Failed 메시지를 보여준다. RealmExerciseViewController.m 소스에 CardName, CardNumber, CardCVV 정보를 확인할 수 있다. CardName John Doe, CardNumber 4444 5555 8888 1111, CardCVV 911 입력해 Success 메시지를 보여준다. ..
Plist Storage - 주요 데이터를 Plist 파일에 저장해 발생하는 취약점 위치 iGoat\Documents\userInfo.plist 영향 사용자가 입력한 정보가 평문으로 저장되어 노출될 위험이 있다. 진단 Username 입력란에 i2sec Password 1234를 입력했다. 데이터를 입력한 결과 Invalid 메시지를 보여준다. iGoat\Documents\Credentials.plist 파일을 찾았다. Credentials.plist 파일에 User, Password 정보를 확인할 수 있다. 그림 6-4 정보를 입력한 결과 Success 메시지를 보여준다. 대응방안 정보를 암호화 해 저장한다.
NSUserDefault Storage - NSUserDefaults함수로 저장해 경로가 노출되고 데이터를 확인할 수 있는 취약점 위치 iGoat\Library\Preferences\com.swaroop.iGoat.plist 영향 민감한 정보를 노출될 위험이 있다. 진단 데이터 입력란에 1234를 입력했다. 데이터를 입력한 결과 Invalid! 메시지를 보여준다. iFounbox에서 iGoat\Library\Preferences\com.swaroop.iGoat.plist 파일을 찾았다. Plist 파일 안에 53cr3tP PIN 번호를 확인할 수 있다. 53cr3tP PIN번호를 입력한 결과 Success 문구를 보여준다. 대응방안 중요 정보 저장 시 암호화를 한다.
Local Data Storage - 애플리케이션 실행이나 애플리케이션의 수명 동안 필수 정보를 유지하기 위해 필요한 기능이다. 위치 Credentials.sqlite 데이터베이스 영향 데이터베이스에 위험한 정보가 노출될 위험이 있다. 진단 Username 부분에 i2sec, Password 부분에 1234를 입력했다. 아무런 반응이 없어서 Username, Password를 다시 한번를다시한번 입력했다. Credentials.sqlite 데이터베이스 입력했던 내용이 저장되어 있는 것을 알 수 있다. 대응방안 중요 정보 저장 시 하드 코딩된 암호화를 한다.
CouchBase Storage - 데이터베이스 스키마의 제약 없이 쉽게 애플리케이션을 수정할 수 있다. 위치 CocuhBaseExerciseViewController 영향 데이터베이스에 저장되어 있는 정보가 노출될 수 있다. 진단 Name 부분에 i2sec, Age 부분에 27, Gender 부분에 male, Disease No를 입력했다. 그림 3-1처럼 입력한 결과 Failed 메시지를 보여준다. CocuhBaseExerciseViewController코드에서 데이터를 확인할 수 있다. Name은 Jane Roe, Age는 52, Gender은 Female, Disease은 Cancer 부분을 입력했는데 Success 메시지를 보여준다. 대응방안 중요정보 저장 시 하드 코딩된 암호화를 한다.
Core Data Storage - 주요한 데이터를 데이터베이스 내에 저장함으로써 발생하는 취약점 위치 BA73E8E9-9A22-4D3D-AB05-5E52E!D90A71/Documents/CoreData.sqlite 영향 데이터베이스에 저장되어 있는 정보가 노출될 수 있다. 진단 Username 부분에 i2sec Password 부분에 1234를 입력해 보았다. 그림 2-1처럼 입력한 결과 Failed 메시지를 보여준다. /var/mobile/Containers/Data/Application 위치에 데이터베이스 파일을 확인할 수 있다. 최근 변경된 파일을 확인하기 위해 find 명령어를 사용했다. Sqlite3로 데이터베이스 파일을 열어본 결과 John@test.com, coredbpassword를 확인..
Cookie Storage - 바이너리 쿠키 파일을 사용해 데이터를 저장하는 취약점 위치 BinaryCookiesExerciseViewController 영향 사용자가 입력한 값들이 Cookie에 저장되기 때문에 노출될 위험이 있다. 진단 Cookie Storage에 Naem, Session, Token 값을 입력했다. 그림 1-1에서 입력한 결과 그림 1-2처럼 Failed 메시지를 보여준다. BinaryCookiesExerciseViewController.m 소스코드를 확인한 결과 Name, Token, Session 값을 찾을 수 있다. 그림 1-3처럼 입력한 결과 Success!! 메시지를 보여준다. 대응방안 Cookie 파일을 주기적으로 삭제한다.