일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- InsecureBank
- lord of sql injection
- vulnhub
- XSS
- ctf
- Volatility
- base64
- Strings
- foremost
- Openstack
- 인시큐어뱅크
- diva
- MFT
- logstash
- elasticsearch
- ESXi
- frida
- otter
- Suninatas
- Reflected XSS
- NTFS
- kibana
- 파이썬
- 안드로이드
- 2018
- SQL Injection
- Docker
- beebox
- igoat
- CTF-d
- Today
- Total
목록모바일 (84)
Information Security
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dfQDDq/btqSASV4u50/WpEDION7RgaHlzGxjXg4e1/img.png)
목표: 한번의 검색으로 DataBase의 모든 사용자 정보 출력 '(싱글 쿼터)를 입력했다. Logcat 정보를 보면 SQL 쿼리 SELECT * FROM sqliuser WHERE user = ''' 오류가가 보이는 것을 알 수 있다. ' or '1'='1' -- 참값을 만든면 사용자 정보가 노출되는 것을 알 수 있다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/PEh3v/btqR6uJZknh/6e79kXdsM78La3r8eIlMBK/img.png)
dex2jar 프로그램을 이용하여 HelloWorld.apk 파일을 jar 파일을 추출된 것을 알 수 있다. MainActivity 소스코드를 보면 코드가 제대로 보이는 것을 알 수 있다. jd-gui 프로그램을 이용하여 File 메뉴에서 Save All Sources를 통해 압축파일을 생성했다. apktool 프로그램을 이용하여 HelloWorld.apk 파일을 디컴파일 했다. HelloWorld_dex2jar.src를 압축을 풀고 src 파일로 변경 후 HelloWorld 디컴파일 폴더로 이동시킨다. 이클립스 Window 메뉴에서 Preferences Android 부분에 SDK 경로를 넣어준다. 이클립스에서 Import를 하기 위해 Android - Existing Android Code Into ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bhARMG/btqSa9ZwH4y/BSzzADblTjFvC4ZSuV6401/img.png)
apktool을 이용해 HelloWorld.apk 파일을 디컴파일 했다. AndoridManifest 파일을 보면 package는 앱의 고유한 이름이고 activity는 컴포넌트의 정보고 intent-filter 해당 앱이 시스템으로부터 실행시킬 수 있는지 처리해주는 것이다. apk 파일을 압축을 풀면 .dex 확장자 파일을 확인할 수 있다. Dalvik Excutable File은 Dalvik 가상머신에서 동작하는 코드다. dex2jar 파일을 이용해 classes.dex 파일을 jar 파일로 변환시켰다. classes_dex2jar 파일이 생성된 것을 알 수 있다. jd-gui 프로그램을 이용해 classes_de2jar 파일을 열어 MainActivity 코드를 확인했다. (com.example.h..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bbv38o/btqR6wgGkwU/Wq3eObEo0tq0pnahph37jk/img.png)
목표: 개인정보가 어디에&어떻게 저장되는 지 및 취약한 코드 검증 test/test 입력 시 데이터가 저장된 것을 알 수 있다. 외부 저장소는 Device에 마운트 시켜 사용하기 때문에 /mnt/sdcard 경로를 이동하면 .uinfo.txt 파일에 test/test 평문으로 저장되어 있는 것을 알 수 있다. 소스 코드를 보면 ExternalStorageDirectoyr에 .uinfo.txt 파일로 평문으로 저장되는 것을 알 수 있다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/blF9Lp/btqR6vhPpJt/fTeOcKpj6zx8ENcpiwBVDK/img.png)
목표: 개인정보가 어디에&어떻게 저장되는 지 및 취약한 코드 검증 test/test 입력 시 데이터가 저장된 것을 알 수 있다. DIVA 디렉터리에 tmp 파일이 생성된 것을 알 수 있다. tmp 파일을 보면 test/test 평문으로 저장된 것을 알 수 있다. 소스코드를 보면 uinfo, tmp 파일로 평문으로 저장되는 것을 알 수 있다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/nY982/btqSa9SHxGV/94jHnYQ65OkizX4m2qSCiK/img.png)
목표: 개인정보가 어디에&어떻게 저장되는 지 및 취약한 코드 검증 test/test 데이터 정보가 저장된 것을 알 수 있다. 데이터베이스 디렉터리에서 sqlite3 명령어로 ids2 DataBase에 연결했다. myuser 테이블에 test/test가 저장되어 있는 것을 알 수 있다. 소스코드를 보면 ids2 데이터베이스에 myuser 테이블에 평문으로 저장된 것을 알 수 있다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bmeAU3/btqSgNuOJ7V/ygzrdU81KyVo2jPJgniS71/img.png)
목표: 개인정보가 어디에&어떻게 저장되는 지 및 취약한 코드 검증 test/test 입력 시 데이터가 저장된 것을 알 수 있다. 안드로이드에서 설치된 패키지의 데이터는 보통 /data/data 경로에 저장된다. jakhar.aseem.diva가 설치한 DIVA 앱이다. 내부 데이터 저장조에 중요한 정보가 평문 test/test가 저장된 것을 알 수 있다. 소스코드를 보면 평문으로 저장하는 것을 알 수 있다.