에뮬레이터와 Burp Suite에서 Android 앱의 HTTP 통신 캡처 (Android 7.0 이상 지원)
개요
버그 사냥 등으로 Android 앱의 HTTP 통신을 캡처할 필요가 있을까 생각한다. 그래서 본 기사에서는 Android 에뮬레이터의 NoxPlayer와 Burp Suite를 이용한 환경을 구축한다.
본 기사에서는 macOS와 NoxPlayer를 사용하는 것을 전제로 하고 있지만, 그 이외의 환경에서도 Android 에뮬레이터와 Burp Suite를 준비할 수 있으면 같은 방법으로 환경 구축할 수 있다(라고 생각한다).
Android7.0부터는 증명서의 취급 방법의 변경에 의해, Burp Suite의 클라이언트 증명서의 인스톨 방법에 한 번 더 추가할 필요가 있다. 본 기사에서는 그 설정에도 대응한다.
환경
절차
0. 준비
cacert.der
) 준비 1. 0.에서 준비한 인증서를 Android 시스템 인증서로 설치
다음 명령을 사용하여
cacert.der
를 시스템 인증서로 설치할 수 있는 형식으로 변환합니다.❯ openssl x509 -inform DER -in cacert.der -out cacert.pem
❯ mv cacert.pem `openssl x509 -inform PEM -subject_hash_old -in cacert.pem |head -1`.0
9a5ba575.0
adb
를 사용하여 준비한 인증서 파일( 9a5ba575.0
)을 에뮬레이터에 설치합니다. adb
는 homebrew-cask로 NoxPlayer를 설치한 경우 /Applications/NoxAppPlayer.app/Contents/MacOS/adb
에 배치됩니다.❯ adb push 9a5ba575.0 /sdcard/9a5ba575.0
❯ adb shell
dreamqltecan:/ # su
dreamqltecan:/ # mount -o rw,remount /system
dreamqltecan:/ # mv /sdcard/9a5ba575.0 /system/etc/security/cacerts/
dreamqltecan:/ # chmod 644 /system/etc/security/cacerts/9a5ba575.0
dreamqltecan:/ # reboot
2. Burp Suite의 대기 주소를 All interface로 설정
이하의 화상과 같이 설정한다.
3. 에뮬레이터의 네트워크 설정에서 호스트 시스템의 Burp Suite를 프록시 서버로 설정
0.에서 조사한 호스트 머신의 로컬 IP 주소 (
192.168.3.13
)를 여기에서 설정합니다.4. 테스트
적당한 어플리케이션을 기동하면, Burp Suite로 HTTP 통신의 내용이 캡쳐 되어 있는 것을 확인할 수 있다.
참고문헌
Reference
이 문제에 관하여(에뮬레이터와 Burp Suite에서 Android 앱의 HTTP 통신 캡처 (Android 7.0 이상 지원)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/howmuch515/items/c42de70ecddb039cb179텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)