Android Application Exploit 기초

안드로이드어플은 기본적으로 dalvik byte code로 이루어진 자바 코드와 c/c++ 코드로 이루어진 JNI를 함께 사용합니다. 그렇기 때문에 JNI는 흔히 알고있는 bof 공격이 가능하며 경우에 따라서는 완벽한 RCE의 경로가 될 수도있습니다. 이번포스트는 Android Application Exploit을 하기위한 분석방법 및 디버깅방법을 설명합니다. 압축해제 프로그램으로 apk파일을 열어보면 이런 구조로 되어있습니다. 여기서 우리가 봐야할건 lib폴더안에 있는 파일들입니다. 안드로이드는 여러 cpu 아키텍쳐를 지원하기 때문에 아키텍쳐마다 라이브러리를 컴파일하여 apk파일에 저장합니다. 일반적으로는 스마트폰 환경에서 많이 이용하기 때문에 armeabi-v7a폴더에 [Read More]

Whitehat Final PAC - 500pt

Whitehat Final PAC - 500pt glibc 2.26 환경에서 문제를 풀어본 적이 없기 때문에, 문제 풀면서 tcache에 대해 공부된 것 같다. Mitigation CANARY,PIE,NX,RELRO가 다 걸린것을 볼 수 있다. 제일 중요한것은 glibc가 2.26 version이라는것이다. glibc malloc에 tcache라는것이 생겼다. Problem Introduction 간단히 문제를 소개하자면, 스타크래프트 컨셉이다. 종족을 선택하고 각 종족의 유닛을 39개까지 생성했다. 지웠다 할 수 있다. 기존 스타에 있는 치트키 같은것도 히든메뉴로 존재한다. 먼저, 유닛을 생성하기 위해 [Read More]

How to make Calculator with Flex & Bison

writer: unidev 먼저 Flex / Bison에 대한 설명을 해보자면, Flex는 문자열을 분석하여 토큰 단위로 나누고, Bison은 yacc의 기능을 개선한 GNU 파서를 생성해주는 파서 생성기라고 말할 수 있습니다. 또, Flex, Bison의 개념들을 잘 이해하고 있으면 응용하여 컴파일러도 만들 수 있습니다. Flex, Bison 의 개념을 이해하기 위하여 기본적인 예제인 계산기를 만들어 볼 것인데, 예제 소스는 아래 링크를 참고하면 됩니다. https://github.com/smakerdev/flex_bison fb1-5.l %% "+" { return ADD; } "-& [Read More]

Ethereum에 대해서

2018년은 가상 화폐의 해라고 봐도 될 정도로 많은 이슈들이 있었고 그에 따른 가격 변동도 있었다. 많은 가상 화폐들이 생겨났고 그에 따른 기술들도 많이 생겨났다. 이번 포스트에는 그 중에서 2세대 블록체인이라고 불리는 Ethereum에 대해서 알아보려한다. ( 내부적으로 들어가게 된다면 여러 복잡한 요소들이 나오는데 그 부분들은 다루지 않겠다. 그래서 포스팅에는 여태까지 프로그래밍을 하면서 머리속에 정리된 것에 대해서 꺼내보려한다.) Ethereum은 기존 비트코인에서 존재하지 않았던 Smart Contract가 가장 큰 차이점이라고 볼 수 있다. Smart Contract는 [Read More]