App Screenshot 텍스트 입력 아이폰에서 홈 버튼을 두 번 눌렀을 때 백그라운드로 전환된 앱 리스트들이 표시되는데, 이 때 앱 화면이 실시간으로 보여지는 것이 아니라, 백그라운드로 전환되기 직전 앱 화면을 이미지로 저장되어 보여주는 것이다. 따라서 금융권
디버깅 방지 적용Disable Debugging을 터치하면 디버깅 방지 로직이 적용됐다는 메시지가 출력된다.디버깅 실패lldb로 디버깅 하려 했으나 attach 실패 메시지를 출력한다.debugger 방지 문자열 검색디버깅 방지 메시지를 검색하여 어떤 로직에서 사용되는
입력한 계정 정보 입력 후 Login Method 1을 클릭하면 이를 확인 후 잘못된 계정을 입력하면 위와 같은 메시지를 출력한다.출력되는 메시지를 검색하여 어느 로직에서 사용되고 있는 지 확인한다....loginMethod1Tapped... 메소드에서 사용하고 있는
이전 글에서 탈옥 탐지 우회를 코드 패치하는 방식으로 진행해 보았다면 이번에는 frida를 활용하여 우회해보기로 한다. 그 전에 아래 깃허브에서 iOS용 유용한 스크립트 몇 개를 사용하기로 했다. > https://github.com/noobpk/frida-ios-
[Jailbreak Test 1] 탈옥된 기기에서 Jailbreak Test 1을 터치하면 "Device is Jailbroken"이라는 메시지가 나타난다. 앱에서 탈옥을 탐지하고 있다는 의미인데, 이를 우회하는 방법을 찾아야 한다. >https://github.
웹페이지를 로드하기 위해 UIWebView를 사용하는 앱은 그 속도를 빠르게 하기 위해 캐싱한다.그 중 중요정보를 캐싱하는 경우가 있기에, 요청 및 응답 정보가 앱 샌드박스 내 어디에 저장되어 있는지 확인해야 한다.데이터가 데이터베이스 테이블명이 cf_url로 시작하는
[Plist] DIVA-v2 앱 - Local Data Storage - Plist 항목 선택 후 아이디/패스워드 입력한다. 아이폰에 SSH로 접근하여 AppName.app(앱과 모든 리소스를 포함하는 디렉토리)을 검색했다. 찾은 디렉토리 내부에서 Info.pli
프리다로 앱 후킹하려는데 다음과 같은 에러가 발생할 때가 있다.그 때는 adb shell로 기기에 shell에 접근하여 다음과 같은 명령어를 입력한다.susetprop persist.device_config.runtime_native.usap_pool_enabled f
Odin.zip v3.14.1Magisk.apk v23.0SamFirm_Reborn_0.3.6.3삼성 Mobile USB DriverSM-A908N을 루팅하기 위해선 일단 부트로더 잠금 해제 상태여야 한다.설정 - 휴대전화 정보 - 소프트웨어 정보 - 빌드번호 를 여러
쉘 코드 만들기 쉘 코드는 바이너리 형태의 기계어 코드로, 쉘 코드를 만들어야 하는 이유는 실행중인 프로세스에 어떠한 동작을 하도록 코드를 넣어 실행 흐름을 조작할 것이므로 실행 가능한 상태의 명령어를 만들어야 하기 때문이다. 기계어에 능통하다면 기계어로 바로 작성하면
버퍼(Buffer) : 시스템이 연산 작업을 하는데에 있어 필요한 데이터를 일시적으로 저장하는 공간. 대부분의 프로그램에서는 버퍼를 stack에 생성한다. buffer overflow는 생성된 버퍼에 버퍼의 크기보다 큰 데이터가 저장될 때 발생한다. stack에서 버
예시로 위의 간단한 프로그램이 실행되었을 때 프로세스가 메모리에 적재된 후 메모리와 레지스터가 어떻게 동작하는지 알아보자.일단 위 C 프로그램을 gcc를 통해 어셈블리 코드로 변경하면 아래와 같이 변환된다.프로그램이 컴파일 되어 실제 메모리 상에 어느 위치에 존재하게
Admin lost password admin 계정의 패스워드를 찾아 로그인에 성공하면 flag 값을 얻을 수 있는 문제이다. 테스트로 무작위 패스워드 입력 후 로그인을 시도했다. 응답 패킷을 보니 실패 했다는 메시지가 응답으로 왔다.  기본적인 메모리 구조 8086 시스템의 기본적인 메모리 구조는 위와 같으며, 시스템이 운영에 필요한 기본적인 명령을 커널에서 찾기 때문에 커널 영역은 반드시 저 위치에 있어야 한다. 32bit 시스템에서는 CPU가 한꺼번에 처리할 수 있
Bypass front-end restrictions 1) 타입이 다른 4개의 입력 필드에 설정된 입력값 제한을 우회하여 값을 설정한 후 요청을 보내면 되는 문제이다. 소스코드를 살펴보면 텍스트 입력 필드는 최대 길이 5자로 설정되어 있고, 선택 상자, 라디오 버
Cross-Site Request Forgeries 1) 페이지에 존재하는 Submit Query 버튼을 외부에서 실행했을 때 서버에서 응답해주는 flag 값을 구하면 되는 문제이다. submit query 버튼을 클릭했을 때 서버로부터 위와 같은 응답을 받을 수
Cross Site Scripting 1) 단순히 같은 브라우저 내에서 여러 탭으로 접속했을 때, 각 탭마다 로그인 세션값이 같은지에 대한 문제이다. 같은 브라우저에서는 쿠키 값을 공유하므로 로그인 세션값이 모두 같으므로 yes라는 대답을 전송하면 통과할 수 있다.
Insecure Direct Object References 1) 현재 로그인 된 계정 외에 다른 계정의 프로필을 보고, 이를 수정하면 되는 문제이다. View Profile 버튼을 클릭했을 때 보내는 패킷이다. 현재는 이 패킷에 대한 응답으로 500에러를 보내고
Authentication Bypasses 1) 인증 우회 문제에서는 처음에 2016년도 인증 우회 사건 예시를 보여준다. 프록시를 사용하여 본인 인증 질문들에 대한 답변이 바디 데이터로 전송되는데, 이 파라미터들을 모두 지웠더니 정상적으로 인증되었다고 한다. 문
SQL Injection SQL 인젝션 공격은 클라이언트에서 서버에서 수행되는 SQL 쿼리문에 악의적인 데이터를 삽입하여 DB에 있는 데이터를 임의로 수정 및 추출하는 공격을 말한다. 1) Account Name 입력칸에 문자열 입력 후 Get Account In