전체 글

하고 싶은게 많은 사람입니다. 게임 개발도 하고 싶고 보안 공부도 하고싶어요 앱개발도...
Sigreturn ROP문제인 것 같았는데, csu 가젯을 이용해서 풀었따.. 아직 srop는 공부를 안해서 잘 모르기 때문에 풀린게 신기하다. 분명히 easy unintended는 막혔다고 써져있었는데 참고로 이 문제는 csu가젯이 조금 이상해서 잘 써줘야 한다. 먼저 bss에 syscall 가젯 주소를 적어주고(나중에 쓰기 위함) /bin/sh, 도 적고 rax를 0x3b(59->execve)로 세팅 해준다. 그리고 아까 적어준 syscall 호출! 덤으로 nc만 하다가 ssh 하니까 잘 몰라서 이것때문에 많이 해맸다.
pwnable.kr 루키 문제부터 그로스테스크 문제까지 풀어보기(과연.. 할 수 있을까?) heap exploit 더 공부 ( house of force, house of orange 등.. orange는 꼭 해보고 싶다.) libc 2.27에서 malloc 분석하기 (tcache까지 같이) 마스터 오브 소드 5 mos5.so 파일 분석하기 ( 인생 목표 )
이번에는 치킨을 먹었다. 1등과 2등 상품의 격차가 엄청나기 때문에 1등을 하고 싶었다. 그래서 라업을 정리해본다. 자세히는 아니고 시나리오 위주로.. start double free가 가능한 것을 이용하여 미리 bss영역에 fake chunk를 만들어 둔 뒤에, 전역변수 값을 autumn으로 바꾸면 flag를 준다. Calculator 숫자를 할당해 줄때에는 0x60만큼 할당을 받지만 , modify 함수에서 0x100만큼 쓸 수 있다. 오버플로를 사용해서 다음 청크의 사이즈를 바꾸고, free를 하면 , main_arena 주소를 얻을 수 있다(free 해도 show 해줌). 그리고 기본적으로 UAF가 되기 때문에 fastbin attack을 이용해 malloc_hook에 one gadget을 넣어주..
지금보니 코드가 java스럽지 않다,.. 처음 풀었을 때에는 O(n^2)의 시간복잡도였는데, 시간초과가 떠서 O(3n)으로 만들 수 있었다. 일렬로 나열된 n개의 풍선이 있습니다. 모든 풍선에는 서로 다른 숫자가 써져 있습니다. 당신은 다음 과정을 반복하면서 풍선들을 단 1개만 남을 때까지 계속 터트리려고 합니다. 임의의 인접한 두 풍선을 고른 뒤, 두 풍선 중 하나를 터트립니다. 터진 풍선으로 인해 풍선들 사이에 빈 공간이 생겼다면, 빈 공간이 없도록 풍선들을 중앙으로 밀착시킵니다. 여기서 조건이 있습니다. 인접한 두 풍선 중에서 번호가 더 작은 풍선을 터트리는 행위는 최대 1번만 할 수 있습니다. 즉, 어떤 시점에서 인접한 두 풍선 중 번호가 더 작은 풍선을 터트렸다면, 그 이후에는 인접한 두 풍선을..
동아리 면접때 준비했던 자료를 올려본다. RSA-OAEP를 이용해서 CCA에 대한 어느정도에 대항성을 갖춘버전. 2048비트가 기본이지만 4096비트도 가능하다. 비주얼 스튜디오 통파일로 첨부하겠다.
문제 설명 게임개발자인 죠르디는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. 죠르디는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 1 x 1 크기의 칸들로 이루어진 N x N 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 5 x 5 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 1 x 1 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 되는 데, 이때 바구니의 가장 ..
이번 가을 CTF용으로 만든 문제다. 개요 일단은 기본적으로 보호기법은 PIE 빼고 다 걸어놨다. PIE는 디버깅 하는 사람들을 위한 배려이기도 하고, 가젯을 주기 위함이다. 사실 Relro는 Partial만 주려고 했는데, 이론상 언인텐디드가 나올 수도 있을 것 같아서 걸었다. 맨날 풀때기같은 초록색만 덕지덕지 칠해진 것을 보다가 빨간색을 보니 기분이 좋다. seccomp whitelist 이다. mprotect이용해 orw 하는것을 유도. 친절하게 바이너리에 힌트도 있다. calloc 으로 rop하는 것을 저 lazyhouse 문제에서 배웠기 때문이다. 본 문제는 기본적으로는 calloc 의 취약점을 이용하여 푸는 문제이다. Calloc 의 내부 과정을 보면 이런 과정이 있는데 [1]에서는 rbp에 ..
하루에 한문제씩 write up을 정리해서 올리려고 한다. 물론 배울만한 가치가 있는 문제들만 ㅎㅎ. 이번 문제는 csu 가젯을 처음 써보는 문제이기도 해서 올려본다. hackctf에서는 50등까지만 달성하고 이제 다른 사이트를 찾아 떠나야겠다.. 아주 단순하다. ROP하라는 문제다. 그리고 gift라는 함수가 하나 있다. 여기서 있는 가젯을 빼다 쓰라는 듯? csu 가젯을 사용하면, 인자를 3개씩 밖에 줄 수 없으나 gift 함수 마지막 줄의 mov rcx, [rdi]를 이용하면 rdi에 미리 pop을 시켜서 rcx에 값을 줄 수 있으니 이를 이용하면 된다. 시나리오는pop rdi stdout -> mov rcx,[rdi] -> fwrite를 이용한 leak -> 다시 main함수로 ret -> fge..
OSOR2
Osori Development Studio