포너블

문제 파악./prob처음 실행해보면 문자열을 입력 받는거같은데, 조금 이상하다. 뭔가 문자열 혹은 버퍼가 깔끔하게 들어가고 있는 느낌은 아니다. 카나리 없고, PIE 없다. 개꿀. IDA처음 실행하면 16바이트를 입력받고, s1이 Decision2Solve와 같은지 비교한다. read_input은 1바이트씩 반복문을 통해 입력을 받는다.이걸 보고 알 수 있는건, 처음 실행했을 때 이상하게 문자열이 들어가는 느낌이 이것 때문이라는 것을 알 수 있다. 버퍼에 남아있는 값들이 다음 입력으로 넘어가거나,,, 엔터까지 받아버리고 등등,,, 취약점unsafe_func()을 보면 너무 당당하게 bof가 발생하고 있다. 근데 보자마자 조금 쎄한건 0x10000만큼이나 받아버리면... 정상 실행이 가능할까...? 우선 ..
안녕하십니까. barrack입니다. 먼저 그동안의 글을 읽어봤는데 틀린 정보도 있더라구요. 당시에는 맞다고 생각했던 정보들이 이제와서 보니 부족함이 많았다는 생각에 글을 쓰는게 좀 무서워졌었습니다.(누군가가 가짜 정보를 믿게 되지 않을까...) 그렇다고 블로그 쓰는걸 멈추긴 싫어서 경고 아닌 경고를... 해두려고요ㅎ 😊해당 블로그의 글은 barrack이 공부하며 적는 글입니다. 틀린 정보가 있을 수 있으니 모든 글을 정답으로 받아들이지 마시고, 만약 정확한 정보를 아시는 분이 계시다면 댓글로 알려주세요😊  그렇습니다. 이제 Hook overwrite 시작할까요...(매 블로그마다 반말과 존댓말을 넘나드는 사람) HookHook Overwrite을 하려면 Hook이 뭔지부터 알아야 하지 않을까요? 아래..
문제 분석 pwnable.kr을 풀기 전에 문제에 있는 힌트를 괜히 주는게 아니라고 생각이 든다. 위 힌트에서 bash에 대한 shocking news가 있다고 한다. 따라서 문제 이름인 shellshock, bashshock에 대해 검색을 해보았다. Shellshock(CVE-2014-6271) Shelllshock 취약점은 GNU bash shell에서 환경변수(env)를 통해 공격자가 원격으로 명령어를 실행할 수 있는 취약점이다. 내가 이해한 바로는 해당 취약점은 특정 bash 버전에서 발생한다. 새로운 bash 쉘을 떨어뜨리는 기능을 수행하거나, 쉘을 생성하는 링크가 있을 때 사용 가능하다. 환경변수의 함수 선언을 통해 의도치 않은 동작을 수행시킨다. 환경 변수의 함수 선언 쉘에서 export 명..
#include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1); } void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_handler); alarm(30); } void get_shell() { system("/bin/sh"); } void print_box(unsigned char *box, int idx) { printf("Element of index %d is : %02x\n", idx, box[idx]); } void menu() { puts("[F]ill the ..
세종대학교 S.S.G / WHS 2기
'포너블' 태그의 글 목록