background

    [how2heap] House of Botcake (glibc 2.31)

    [how2heap] House of Botcake (glibc 2.31)

    https://github.com/shellphish/how2heap/blob/master/glibc_2.31/house_of_botcake.c (이 코드는 2.35에선 작동하지 않는다) #include #include #include #include int main() { /* * 이 공격은 https://sourceware.org/git/?p=glibc.git;a=commit;h=bcdaad21d4635931d1bd3b54a7894276925d081d * 에 도입된 제한을 우회해야합니다. * 만약 libc에 제한이 포함되어 있지 않다면, 단순히 victim를 두 번 해제하고 * 간단한 tcache poisoning을 수행할 수 있습니다. * 이 기술의 이상한 이름에 대해 @anton00b와 @subw..

    [how2heap] Fastbin dup into stack (glibc 2.35)

    https://github.com/shellphish/how2heap/blob/master/glibc_2.35/fastbin_dup_into_stack.c #include #include #include int main(){ fprintf(stderr, "이 파일은 calloc을 속이는 방법으로 fastbin_dup.c를 확장합니다.\n" "(이 경우 스택에 제어된 위치를 가리키는 포인터를 반환합니다).\n"); fprintf(stderr,"먼저 tcache를 채웁니다.\n"); void *ptrs[7]; for (int i=0; i> 12) ^ ptr; /*취약점*/ fprintf(stderr, "3번째 calloc(1,8): %p, 스택 주소를 free list에 넣음\n", calloc..

    [how2heap] Fastbin dup (glibc 2.35)

    https://github.com/shellphish/how2heap/blob/master/glibc_2.35/fastbin_dup.c #include #include #include int main(){ setbuf(stdout, NULL); printf("이 파일은 fastbins를 사용한 간단한 double-free 공격을 보여줍니다.\n"); printf("먼저 tcache를 채웁니다.\n"); void *ptrs[8]; for (int i=0; i 이 파일은 fastbins를 사용한 간단한 double-free 공격을 보여줍니다.먼저 tcache를 채웁니다.버퍼 3개를 할당합니다.첫 번째 calloc(1, 8): 0x55db240313a0두 번째 calloc(1, 8): 0x55db240313c..

    APK Repackaging

    안드로이드 앱에 관한 문제를 풀다보면 리패키징이 필요할 때가 있다. 몇 가지 툴들을 사용하여 리패키징을 수행할 수 있다. 1. jadx 리패키징에 직접적으로 필요한 건 아니지만 분석하는데 유용하다. 개인적으로 모바일 계의 IDA 같은 친구가 아닌가 싶다. jadx-gui를 활용하면 gui상에서 디컴파일 된 코드를 확인하고 분석할 수 있다. (현재 최신 버전은 1.4.7) https://github.com/skylot/jadx/releases/tag/v1.4.7 Release 1.4.7 · skylot/jadx Features [core] Inline lambdas by instance field (#1800) [plugins] Allow to load classes using input stream or..

    Spring View Manipulation (Thymeleaf SSTI)

    Spring View Manipulation (Thymeleaf SSTI)

    드림핵에서 spring-view를 풀었다. 자바로 만든 문제는 처음 풀어봤는데, 어디서 또 만날 수도 있으니 정리해본다. https://dreamhack.io/wargame/challenges/99 spring-viewspring으로 작성된 웹 서비스 입니다. 취약점을 이용해 플래그를 획득하세요.dreamhack.io 스프링 부트(spring boot)에서 뷰(view)를 위한 엔진으로 타임리프(Thymeleaf)를 주로 사용한다고 한다. (MVC 모델) 아래의 컨트롤러 코드를 보면 @GetMapping(path) 형식의 어노테이션을 사용한다. 유저의 path에 대한 HTTP 요청은 index 메서드를 통해 view를 렌더링 해주는 처리를 할 수 있다. 여기선 리턴 값이 "welcome"으로 고정되어 있..