Profile

머리정리하는곳

c2w2m2

블로그이전

이전 글은 여기다가 냅두고 http://blog.c2w2m2.com 으로 블로그 이전합니당..

Today ·

XSS trick

http://tech.c2w2m2.com/web/js-trick/ 글올렸다. 아직 추가중이다. 그리고 http://file.c2w2m2.com/ 요거 만들었다 ㅋㅋ 굿굿 그리고 해캠 시텦 1등했다 라업 나중에 안귀찮으면 올리겟다,,,

Today ·

Only Unsorted bin attack

Unsorted bin attack이 가능하고, 전역변수로 힙이 관리되면서, 이를 수정할수 있고, 전역변수의 주소를 알수 있다. 대충 이런 조건이면 Unsorted bin attack만을 활용해서 쉘을 얻어낼 수 있다. 힙베릭, 립베릭, 빈베릭 ( If PIE )가 필요하긴한데, 위 조건을 만족하면 view만 있으면 다 릭할 수 있으니까 크게 상관 없다. 빈베릭이 걸리기는 하지만... 어쨋든 이런 조건이면 전역변수에다가 Unsorted bin attack 으로 main_arena + 88 을 적어준다. 보통 Unsorted bin attack이후의 malloc은 main_arena가 꼬이면서 에러를 뱉는데, 여기서 Edit을 통해서 main_arena를 고쳐줄 수 있다. 이를 고치면서, 뒷부분에는 one..

Pwnable ·

SQLI in order by

만약 Injection 벡터가 select * from post order by $_GET['input'] 꼴로 일어나면 $_GET['input'] 에다가 바로 sub query 를 넣고 error & blind 혹은 time based sqli 가 가능하다. => (select if(1=1, (select 1 union select 2), 0)) 꼴로 하면 조건이 true가 되면 에러가 터지게 되어서, 이걸로 blind가 가능하다. 물론 union 이 아닌 row가 2개이상 나오는 query를 줘도 된다. 하지만 select * from post order by idx $_GET['input'] 꼴로 일어나서 input에 desc 같은게 들어간다고 하면 select * from post order by..

Web ·

32bit fmt generator

문제푸는데 쓸일이 있어서 만들었따

Today ·

ISITDTU CTF 2018 - dead_note_lv2

off by one 으로 인해서 heap_amount부분에 할당이 된다. 이걸로 적당히 조져서 unsafe unlink해주고 적당히 쉘따면 된다.

Pwnable ·

Asis 2015 - math_sequence

힙오버 있으니까 그걸로 릭하고덮어서 aaw 만들고그걸로 fucntion ptr 덮고nx없으니 쉘코드 올리면 된다.옵셋 대충짠건지 한방에는 잘 안따인다 여러번 해야할듯

Pwnable ·

Seccon2017 - baby_stack

전에 풀어야지 올려놓고 글도 써놓고 까먹고 있다가 이제와서 푼다. 문제보면 message 부분에서 bof를 준다. 막 A넣어보면, fmt.padString부분에서 에러가 난다. ida로 까서 스택보면 stdin부분이 덮히는 걸 볼 수 있다. 이부분을 맞춰주면 되는데, printf가 2번 호출됨으로, 2개 맞춰주면 된다. 그 후에는 걍 c바이너리 rop하듯 rop 해주면 되는데, 왜인지 모르겠지만 syscall이후에 체이닝이 정상적으로 안됐다. 그래서 read => execve는 포기하고, mov [rdi], rax를 이용해서 /bin/sh를 쓰고, 쉘을 땄다.

Pwnable ·

ISITDTU CTF 2018 Quals

퍼블 몇개 먹어서 기분 좋다 (grin) xoxopwn 걍 길이제한만 있는 pyjail이였다. 필터링도 없었다. 보고 5분컷내서 퍼블먹었는데, 그다음팀이 푸는데 3시간걸려서 기분이 좋았다. 그냥 open(__file__).read() 하면 파일 읽어올 수 있고, o함수 분석해서 디코드 해주면 플래그가 나온다 dead_note_lv1 OOB로 got를 덮고, 원하는 3byte opcode를 실행 할 수 있었다. atoi를 jmp rdi로 덮으면, 인풋으로 뛰게 되어서, 인풋에 있는 opcode를 다시 실행시킬 수 있었다. 이러면 16byte니까 간단하게 read를 하는 syscall을 부르고, 쉘코드 적어서 뛰어주면 된다. unexploitable 웹너블이다. 퍼블먹었당. 웹에서는 크게는 취약점 없고 그냥..

CTF Writeup ·