본문 바로가기

전체 글171

[Mobile Hacking] Burp Suite로 Android 패킷 잡기 (CA인증서 설치) Web 진단을 할 때 Burp Suite라는 프록시 도구를 많이 사용합니다.모바일도 Burp Suite를 통해 앱 진단을 할 수 있습니다. 1. Burp Suite 설정 ipconfig /a (또는 ifconfig -a)로 로컬 IP를 확인합니다. Burp Suite의 프록시를 설정합니다.여기서는 8081 포트를 사용했습니다. 2. Android 설정 연결된 Wi-Fi를 수정합니다.Proxy를 수동(manual)로 설정한 뒤 burp에서 설정한 프록시 정보를 그대로 입력합니다. Android에서 http://burp 접속 시 [그림 4]와 같은 페이지가 출력됩니다.오른쪽 위 CA Certificate를 눌러 인증서를 다운로드합니다. 인증서를 직접 실행해서 설치할 수는 없습니다. Android 버.. 2026. 3. 12.
[Mobile Hacking] Android에 Frida 설치 Frida는 Android 등의 다양한 플랫폼에서 동적 코드 삽입(hooking)이나 애플리케이션 동작 분석을 수행할 수 있는 리버스 엔지니어링 도구입니다. Python 기반으로 작동합니다. 보안 테스트를 할 때 필수적인 도구이며, 이를 활용하여 나쁜 짓(루팅 탐지 우회, 게임 핵 제작, 인증 우회 등)의 활용도 가능합니다.1. Frida CLI Tool 설치먼저 Android를 분석할 PC에 Frida CLI Tool을 설치해야 합니다. pip install frida-tools==13.5.0 frida==16.6.6 여기선 16.6.6 버전을 설치합니다. 2. Frida-Server 설치Android 기기 내에 frida-server를 설치해야 합니다. 먼저 아래 명령어를 수행하여 아키텍쳐를 확인합니.. 2026. 3. 12.
[Mobile Hacking] rootAVD 이용한 Android 루팅 (Android Studio) 저번 글에서 설치한 안드로이드 에뮬레이터 디바이스를 루팅해 보도록 하겠습니다. 루팅에는 여러 방법이 있지만, 여기서는 rootAVD를 활용하여 설치해 보겠습니다. 먼저 에뮬레이터를 실행합니다. 아무 디렉터리 하나 만들고 github에서 rootAVD를 가져옵니다.git clone https://github.com/newbit1/rootAVD.gitcd rootAVD 아래의 명령어를 실행하면 버전 별로 어떤 커맨드를 통해 루팅할 수 있는지 알려줍니다../rootAVD.bat ListAllAVDs PC에 설치된 모든 SDK에 대한 설치방법이 출력됩니다.SDK 많이 설치했으면 많이 출력됩니다. 일반적으로는./rootAVD.sh system-images/android-33/google_apis/arm64-.. 2026. 3. 12.
[Mobile Hacking] Android 에뮬레이터 추가 및 실행 (Android Studio) Android Studio 설치 시 apk를 테스트할 수 있는 에뮬레이터도 같이 설치됩니다.Device Manager를 통해 특정 버전의 안드로이드를 설치 후 실행할 수 있습니다. Android Studio에서 Virtual Device Manager에 들어갑니다. 생성된 디바이스를 확인할 수 있습니다. 처음 실행하시면 이 부분이 비어있습니다. 왼쪽 위 + 버튼을 통해 디바이스를 생성할 수 있습니다. 작은 폰, 적당한 폰 또는 Pixel 디바이스를 선택할 수 있습니다.하고 싶은 거 선택 후 다음을 클릭합니다. 해당 기기의 OS를 선택합니다. 원하는 OS를 선택하면 됩니다. (주의: 루팅 용도로 사용할 경우 Services를 Google APIs 선택을 권장합니다.) Finish 클릭하면 자동으로.. 2026. 3. 11.
[Mobile Hacking] Android SDK 설치 및 제거 관리 (Android Studio) Android Studio를 설치하면 Android SDK 버전을 선택하여 설치할 수 있습니다. Android Studio의 설정에서 Languages&Frameworks의 Android SDK에 들어가면해당 PC에 설치된 Android SDK를 조회할 수 있습니다.(Show Package Details 체크 시 더 자세한 버전의 SDK 조회가 가능합니다.) 설치하고 싶은 SDK 체크하면 되며,삭제를 하고 싶을 경우 체크 표시를 해제하면 됩니다. Apply 또는 OK 클릭 시 변경사항을 확인하는 대화상자가 출력됩니다.확인 후 OK 클릭하면 적용됩니다. 2026. 3. 11.
macOS 시스템 데이터 정리 시스템 데이터가 무겁게 쌓이는 것은 macOS의 치명적인 단점입니다.아무리 사용자에게 좋은 환경을 선사한다고는 하지만, 이런 식으로 제대로 된 파일 관리를 하지 못하고 용량을 계속 잡아먹는 것은 유쾌한 경험은 아닙니다.애플리케이션을 지워도 많이 남아있는 찌꺼기들, 주기적으로 방치되는 거대한 캐시 파일 등결국 꼬우면 나중에 더 큰 거 사라는 게 아닙니까? 시도할 만한 방법들을 모아서 이 글에 작성할 것이며, 주기적으로 업데이트 할 예정입니다.TIP:finder 활성화 상태에서 command + Shift + G 입력 시 나오는 창에서디렉터리 경로 입력하면 바로 해당 경로로 이동할 수 있습니다. 휴지통 비우기휴지통을 깨끗하게 비웁니다.이건 당연한 거라 시스템 캐시 삭제 ~/Library/Caches 디렉터.. 2026. 3. 11.
[CTF] CCE2022 reborn of php Write-Up | Web 2022년 사이버공격방어대회 (CCE) reborn of php Write Up 입니다.문제에 접속하면 다음과 같은 페이지가 출력됩니다.아무 페이지에 들어가서 URL을 확인해 보았습니다. b 인자와 a 인자가 있는 것을 확인할 수 있습니다.이 인자들의 역할은 lib/controller.lib.php 코드에서 확인할 수 있습니다.b가 board, a가 action인데, 이 두 개를 결합하여 path를 설정합니다.[그림 3.2]를 예로 들면, b = register, a = index이므로path는 register/index가 되고, 26번 라인으로 인해 최종적으로 register/index.php가 완성됩니다.만약 11라인으로 인해 필터링에 걸리거나, 해당 경로에 파일이 존재하지 않으면 path는 main.. 2026. 3. 10.
[CTF] CCE2022 BabyWeb Write-Up | Web 2022년 사이버공격방어대회 (CCE) BabyWeb Write Up 입니다.문제에 접속하면 텍스트박스와 제출 버튼이 보입니다.해당 서버는 다음과 같은 파일로 구성되어 있습니다.먼저 public/app.py 입니다. 이 코드의 핵심은 try문 안에 있습니다.48번째 라인을 return하는 것이 목적인 것으로 보입니다.또한, flag.service를 필터링하는것으로 보아, 해당 인자를 필터링을 우회하여 전달해야 하는 것으로 보입니다.Internal/app.py 소스코드 입니다. [그림 2.3]의 48번 함수 get()을 호출하면 실행되는 코드로 보입니다. 10번 라인에서, flag.service가 들어오면 FLAG를 return하도록 구성되어 있는 것을 확인할 수 있습니다.8번 라인에서 URL이 /flag.. 2026. 3. 10.
[CTF] Lord of SQLInjection 16번 zombie_assassin Write-Up 15번 문제와 비슷한 코드인데, 이번엔 ‘ 검열 대신 strrev(addslashes()) 함수가 있습니다.select id from prob_zombie_assassin where id='{$_GET[id]}' and pw='{$_GET[pw]}'이 문제도 id와 pw를 입력받으며, 이것들을 잘 이용해 인젝션하면 됩니다.‘를 입력하게 되면, addslashes() \’가 되고, strrev()로 인해 최종적으로 ‘\가 됩니다.addslashes() 작동 범위는 ‘ ” \ NULL 입니다.NULL을 넣어보니 0\로 된 것을 확인할 수 있습니다.그러면, \%00을 넣으면 0\’\가 되어 \’가 생기게 됩니다. 이는 일반 문자열 역할을 하게 됩니다.select id from prob_zombie_assass.. 2026. 3. 10.
[CTF] Lord of SQLInjection 15번 succubus Write-Up id, pw 둘 다 입력받으며, 싱글쿼터가 검열되고 있습니다.select id from prob_succubus where id='{$_GET[id]}' and pw='{$_GET[pw]}'이와 같은 쿼리에서 제한적으로 싱글 쿼터를 우회할 수 있는 방법이 하나 있습니다.싱글쿼터 ‘ 를 SQL에서 문자열 그 자체로 인식하기 위해서는 이스케이프 처리를 해야 합니다. 즉, \’ 이렇게 입력하면 SQL 문법이 아니라 문자열로 처리하게 됩니다.이를 이용하여 id 뒤쪽 ‘를 일반 문자열로 처리하여 무력화 시킬 수 있습니다.select id from prob_succubus where id='\' and pw=' or 1#'id에 \, pw에 or 1=1# (앞에 공백 포함)를 넣으면 \ 뒤에 있는 ‘가 문자열로 처.. 2026. 3. 10.