목록전체 글 (553)
Self-Improvement
보호되어 있는 글입니다.
Intent Sniffing and Injection Intent에는 아래와 같이 2가지가 존재한다. 암시적 Intent 특정 의도한 정보를 포함하는 Intent 객체를 생성하고 startActivity() 호출 -> 액티비티 매니저가 의도에 적합한 액티비티 정보를 패키지 매니저에게 요청 -> 패키지 매니저는 요청받은 의도에 적합한 앱에 대한 정보를 전달 -> 액티비티 매니저는 전달받은 앱의 정보를 통해 원하는 액티비티를 실행 ex1) Intent intent = new Intent(ACTION) ex2) Intent intent = new Intent(); intent.setAction(Intent.ACTION_MAIN); 명시적 Intent 실행하고자 하는 컴포넌트가 명확할 때 사용하는 방식 ex1)..
Android Pasteboard & Clipboard vulnerability 안드로이드에는 데이터를 복사하면 클립보드에 저장된다. 클립보드에 저장된 내용에 접근이 가능하기에 복사가 불가능하게 activity_do_transfer.xml 파일에서 EditText의 editable 속성을 false로 설정해주거나 복사한 데이터에 대한 유효시간을 주어 없어지게 해야한다. ADB 아래의 명령어를 하면 나온다는데.. 잘 안나온다 adb shell pe -e | grep -i 'insecurebankv2' > u0_a297 13088 485 23760032 268204 SyS_epoll_wait 0 S com.android.insecurebankv2 adb shell su u0_a297 service call ..
Flawed Broadcast Receivers 브로드캐스트는 전화를 받거나 화면을 껐다 켜거나 스마트폰을 종료했다가 다시 전원을 켜는 등 특정 행동을 했을 때 Intent를 통해 발송되어지며 브로드캐스트 리비서가 수신하여 앱에 행동을 전달하게 된다. 즉, "전원을 겨면 이앱을 실행하라" 라던가 "화면을 켜면 앱에서 실행 중인 음악을 종료하라" 등의 명령을 브로드캐스트로 이용할 수 있다. 어플리케이션이 브로드캐스트를 받기 위해서는 AndroidManifest.xml에 태그로 브로드캐스트 리비서를 등록 해야한다 단, 안드로이드 8.0 부터 몇몇을 제외한 나머지 브로드캐스트 리시버를 AndroidManifest.xml에 등록할 수 없게 되었다. https://developer.android.com/guide..
Exported Content Provider Content Provider(콘텐츠 프로바이더)는 다른 애플리케이션의 데이터베이스나 파일에 접근할 수 있게 해주는 역할을 한다. 즉, 해당 애플리케이션의 데이터를 다른 어플리케이션에서 사용할 수 있게 해주는 것이다. AndroidManifest.xml 에 로 정의되어 있다. Content Provider 에 접근하기 위해서는 Content Provider 의 주소인 URI(Uniform Resource Identifier) 와 Content Resolver(콘텐츠 리졸버)가 필요하다. Content Resolver 를 이용하여 다른 애플리케이션의 Content Provider 에 접근할 수 있으며, 이때 Content Provider 의 주소인 URI 가 ..