| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- otter
- logstash
- Volatility
- vulnhub
- lord of sql injection
- igoat
- base64
- XSS
- ESXi
- binwalk
- Openstack
- InsecureBank
- foremost
- Docker
- diva
- dreamhack
- Reflected XSS
- SQL Injection
- beebox
- Strings
- kibana
- 2018
- ctf
- frida
- Suninatas
- CTF-d
- 안드로이드
- MFT
- 인시큐어뱅크
- elasticsearch
- Today
- Total
목록전체 글 (446)
Information Security
목표: 앱을 실행하지 않고 Tveeter가 제공하는 PIN을 모르는 상태로 API Credential 획득하기 / 비즈니스 로직 문제이므로 코드를 볼 필요가 있다. Register Now 선택 후 1111 입력 시 에러 메시지가 발생하는 것을 알 수 있다. 뒤로 가서 Alerady Registered를 선택하면 API Credential을 확인할 수 있다. 이번 문제와 관련된 액티비티는 2개라는 것을 알 수 있다. 소스코드를 보면 boolean함수를 통해 aci2rbregnow의 결과를 chk_pin의 값으로 설정한다. isChecked는 체크박스가 선택되었는지를 확인하는 메서드이며 rbregnow는 Register Now체크박스인 것 같다. 따라서 Register Now 체크박스가 선택되었다면 chk_..
목표: 앱을 실행하지 않은 상태에서 API 자격증명 획득하기 VIEW API CREDENTIALS 버튼 클릭 시 API 정보가 노출된 것을 알 수 있다. 소스코드에서 Activity는 intent-filter로 보호된 것을 볼 수 있다. 그러나 절대 intenet-filter를 보호 메커니즘으로 사용하면 안 된다. intent-filter가 Activity와 같은 애플리케이션 컴포넌트에 쓰였을 때 해당 컴포넌트는 공개적으로 export 되기 때문에 임의로 접근할 수 있다. am = Activity Manager, start = Activity 실행, APICredsActivity를 시작하라는 명령어다. 메인 화면에서 바로 Vendor API Credentials 화면을 보여주는 것을 알 수 있다.
hub.docker.com/r/jupyter/datascience-notebook nginx 설치를 하고 env_name=test1234 환경변수를 적용했다. docker 쉘로 접속 후 printenv 명령어로 확인해 보니 test1234 환경변수를 확인할 수 있다. mysql 환경변수를 적용 후 mysql 다운로드하였다. exec 명령어로 바로 mysql로 접속했다. MySQL 명령어가 동작하는 것을 알 수 있다.
e877c46.apk 파일을 디컴파일 했다. e877c46.apk 파일을 jar 파일을 추출했다. Java Decompiler 프로그램을 이용해 해당 jar 파일을 소스코드를 추출했다. 해당 파일 압축을 풀고 디컴파일된 폴더에 src 파일 명으로 이동시켰다. 이클립스를 이용해 해당 파일을 Import 했다.
목표: web URL외의 정보를 입력해 민감한 정보에 접근하기 입력 값에 https://www.naver.com 입력 후 view를 클릭했다. 네이버 주소로 이동한 것을 알 수 있다. 외부 저장소에 저장되어 있는 .uinfo.txt 파일을 호출했는 데 정보가 노출되는 것을 알 수 있다. file:///data/data/jakhar.aseem.diva/shared_prefs/jakhar.aseem.diva_preferences.xml 호출 시 동일하게 내부 저장소에 저장되어 있는 정보가 노출되는 것을 알 수 있다. WebView 취약점을 이용한 사례 WebKit은 구글 크롬 웹 브라우저와 안드로이드 브라우저에 포함되어 수많은 브라우징들을 위한 엔진. android.webkit 패키지는 웹을 출력하기 위해 ..
목표: 한번의 검색으로 DataBase의 모든 사용자 정보 출력 '(싱글 쿼터)를 입력했다. Logcat 정보를 보면 SQL 쿼리 SELECT * FROM sqliuser WHERE user = ''' 오류가가 보이는 것을 알 수 있다. ' or '1'='1' -- 참값을 만든면 사용자 정보가 노출되는 것을 알 수 있다.
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 ..
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..
