취약점 상세 진단 - 루팅 탐지 및 우회 취약점 소개리눅스 기반 OS 에서 보안상의 이유로 Root 권한을 막아 놓았다. 안드로이드의 경우도 마찬가지로 애플리케이션에서 할 수 있는 행위가 제한된다. 이런 제한을 풀거나 우회하기 위해 시스템 권한을 루트 권한으로 획득해야 한다.Root 권한이 부여되면 안드로이드 앱과 모든 자원에 대한 권한이 생겨 모든 조작이 가능해진다. 때문에 기기 또는 앱 삭제 및 다양한 문제가 생길 수 있으므로 민감한 앱에서는 Rooting된 기기에서는 설치가 불가능하게 하기도 한다. 진단 과정주로 Rooting 체크하는 방법 - 루팅 체크 주 경로 4가지 /system/bin/su /system/sbin/su /system/app/superuser.apk /data/data/com...
취약점별 상세 진단 - 취약인증메커니즘 취약점 소개 취약한 인증 메커니즘(Weak Authorization Mechanism)은 정상적 인증 절차를 우회하여 비정상적 인증으로 접근 권한을 취득하는 취약점이다. 진단 과정 Manifest.xml android:exported="true" 설정 시다른 Activity에서 인증 없이 접근 가능. >run app.activity.info -a com.android.insecurebankv2 activity 정보 확인activity 종류와 Permission 상태가 null 인 것으로 android:exported="true" 임을 확인 할 수 있다. 때문에 인증과정 없이 원하는 activity를 호출 할 수 있다. drozer의 아래 명령어를 이용하여 로그인하지..
Drozer를 이용한 앱 취약점 진단 - Broadcast Receiver 결합 취약점 소개안드로이드 디바이스에서 이벤트가 발생하면 브로드캐스트 신호를 보내게 되는데, 이 신호를 받아 역할을 수행한다. 애플리케이션에서 선언한 액션을 호출하면 리시버는 해당 액션을 인지하여 작업을 수행하고, 수행하는 작업은 브로드캐스트 리시버를 상속 받은 메서드에서 처리한다. 브로드캐스트 리시버를 호출 할 시 비정상적, 악의적인 애플리케이션에서 발생하거나, 공격자에 의해 임의대로 생성할 수 있다. Target APP - insecurebankv2.apk (취약점 진단용 앱)link -> https://github.com/dineshshetty/Android-InsecureBankv2 Manifest.xml - Broadca..
Drozer 를 이용한 Android APP 진단. Drozer란? MWR InfoSecurity에서 개발한 모바일 애플리케이션 취약점 진단 프레임워크 머큐리 업데이트 버전이다. JRE, JDK, Android SDK를 필요로 한다. 단말기 Agent를 설치한 후 PC에서 ADB로 명령을 내리는 서버와 클라이언트 방식으로 동작한다. 자동 테스트와 안드로이드 익스플로잇과 같은 다양한 점검을 할 수 있다. download https://labs.mwrinfosecurity.com/tools/drozer/ c:\Users\사용자이름\.drozer_config 파일 수정 [executables]java = C:\Program Files\Java\jdk1.8.0_101\bin\java.exejavac = C:\P..
build.gradle12 compile 'com.j256.ormlite:ormlite-core:5.0' compile 'com.j256.ormlite:ormlite-android:5.0'cs domain.Memo.java 123456789101112131415161718192021222324252627282930313233@DatabaseTable(tableName = "memo") // Generate Table Annotationpublic class Memo { @DatabaseField(generatedId = true) // PRIMARY KEY AUTO INCREMENT int id; @DatabaseField String title; @DatabaseField String contents;..
필요사항 :- 구글 firebase 프로젝트 ( 서버키 )- 구글 firebase 프로젝트 json 파일- 노티를 받아주는 자바 서비스 코드- 앱 내의 token 키- 노티 날려줄 서버 - 1. 구글 Firebase https://console.firebase.google.com/ 계정으로 접속 Firebase > 새 프로젝트 추가 > 프로젝트 관리 > JSON 파일 다운로드 다운로드 받은 JSON 파일을 APP project 폴더에 추가 해당 프로젝트의 JSON 파일 다운로드 다운로드한 JSON 파일을프로젝트/app 폴더에 추가 안드로이드 App 에 필요한 코드 APP 수준compile 'com.google.firebase:firebase-messaging:9.6.1'apply plugin:'com.g..
12345678910 public void failAlert(){ AlertDialog.Builder alert = new AlertDialog.Builder(context); alert.setTitle("제목"); alert.setMessage("내용"); // alert.setIcon(R.drawable.ic_launcher); alert.setNegativeButton("확인", null); //null 대신 리스너달수있음. alert.show(); }Colored by Color Scriptercs
Manifast 추가 1cs 1import android.database.Cursor;cs 1234567891011121314151617181920String [] arrProjection = { ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME }; // get user listCursor clsCursor = 메인 컨텍스트.getContentResolver().query ( ContactsContract.Contacts.CONTENT_URI, arrProjection, ContactsContract.Contacts.HAS_PHONE_NUMBER + "=1" , null, null ); while( clsCursor.moveTo..
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public void onBackPressed() { super.onBackPressed(); } }[출처] [안드로이드] Back 버튼이 눌릴 때 처리 방법|작성자 도모네 [출처] [안드로이드] Back 버튼이 눌릴 때 처리 방법|작성자 도모네 super.onBackPressed(); 사용시 어플리케이션 종료되거나 이전 Activity 이동. 두번 눌러서 종..
APP Build.Gradle compile 'io.reactivex:rxandroid:1.2.1' MainActivity.java1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950public class MainActivity extends AppCompatActivity { static final String BASE_URL = "http://api.openweathermap.org"; static final String API_KEY = "*****************************"; EditText city; TextView result; @Override protected v..
참조 사이트 : https://console.developers.google.com/iam-admin/projects mport android.os.Bundle; import android.support.v4.app.FragmentActivity; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.OnMapReadyCallback; import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.model.LatLng..
* Decomplie Tools - http://jd.benow.ca ( GD - GUI ) - https://sourceforge.net/projects/dex2jar ( dex2jar-2.0 ) - https://ibotpeaches.github.io/Apktool ( apktool_2.2.1.jar ) 안드로이드 스튜디오에서 Build >Generate Signed APK > app-debug.apk, app-release.apk 생성. \app\ > app-debug.apk, app-release.apk 파일을 dex2jar 폴더에 복사 다운받은 d2j-dex2jar.bat 파일을 이용하여 jar파일 생성 GD - GUI tool을 이용하여 결과 확인 Debug APK 파일은 난독화설정을 하지 않..
Motion Sensorsdeveloper : https://developer.android.com/guide/topics/sensors/sensors_motion.html * 센서 동작 기본 흐름 1. SensorManger 생성 2. Sensor 객체 생성( 내가 사용할 Sensor Type 선택 ) 3. Sensor Listener 작성 4. Listener 등록 및 Sensor 값 받기 5. Listener 해제 (배터리 사용량을 위해 반드시 해제) - 동작 속도FASTEST, GAME, UI, NORMAL - 정확도 HIGH, MEDIUM, LOW MainAcitivity.javapublic class MainActivity extends AppCompatActivity implements Se..
site : https://firebase.google.com/
Retrofit : https://square.github.io/retrofit/OKHttp : http://square.github.io/okhttp/ Manifast.xml gradle // retrofit compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.squareup.retrofit2:converter-gson:2.1.0' // Ok http compile 'com.squareup.okhttp3:okhttp:3.4.1' compile 'com.squareup.okhttp3:logging-interceptor:3.4.1' compile 'com.squareup.okhttp3:okhttp-urlconnection:3.4.1' ISeoulOp..