본문 바로가기

Hacking/write-up

(dreamhack)string #include #include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1); } void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); setvbuf(stderr, NULL, _IONBF, 0); close(2); dup2(1, 2); signal(SIGALRM, alarm_handler); alarm(60); } void input(char *buf) { printf("Input: "); read(0, buf, 255); } void print(char *buf) { warnx(buf); } int main().. 더보기
(dreamhack) house_of_force 보호되어 있는 글입니다. 더보기
(dreamhack)house_of_spirit #include #include #include #include #include char *ptr[10]; void alarm_handler() { exit(-1); } void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_handler); alarm(60); } void get_shell() { execve("/bin/sh", NULL, NULL); } int main() { char name[32]; //p64(0)+p64(0x61) int idx, i, size = 0; long addr = 0; initialize(); memset(name, 0, sizeo.. 더보기
(rarCTF)boring-flag-checker 보호되어 있는 글입니다. 더보기
(rarCTF)notsimple -소스코드 nx안 걸려있음. 쉘코드를 입력 가능 seccomp이 있어서 syscall이 한정적이다 prctl(option=38)에서 option 38은 PR_SET_NO_NEW_PRIVS이고 execve함수가 추가 권한을 부여해주지 못하도록한다. prctl(option=22)에서 option은 PR_SET_SECCOMP이고 이는 seccomp활성화로 두번째 인자가 0이면 비활, 1이면 strict mode(read,write,exit syscall만 허용), 2이면 filter mode(세번째인자에 sock_fprog구조체포인터 형태로 필터링 인자 전달-> seccomp 설정에 관련된 환경값) seccomp_tools로 seccomp환경설정 상태를 확인해본다. open,read,write를 이용해 fla.. 더보기
(rarCTF)ret2winrars -소스코드 int __cdecl main(int argc, const char **argv, const char **envp) { setvbuf(_bss_start, 0LL, 2, 0LL); puts("Hello, welcome to the WinRaRs!"); printf("Please enter your WinRaR license key to get access: "); get_license(); puts("Thanks for the license :)"); return 0; } __int64 get_license() { char v1[32]; // [rsp+0h] [rbp-20h] BYREF return gets(v1); } void flag(void) { system("/bin/cat flag.t.. 더보기
(Dreamhack :: Webhacking) Mango -개념 https://dreamhack.io/learn/1/29#3 Mongo DB 사용법 Mongo DB에 입력데이터에 대한 검증이 충분히 이루어지지 않을때 생기는 취약점 Mongo DB blind injection -문제소스 -접근 mongoDB는 nosql형식이다. 좀 더 어렵게 표현하자면 key value의 쌍을 가지는 JSON object형태의 도큐먼트를 저장한다. +MongoDB특징 JSON 형식으로 쿼리를 작성할 수 있습니다. _id필드가 Primary Key 역할을 합니다. +사용예시 $ mongo > db.user.insert({uid: 'admin', upw: 'secretpassword'})WriteResult({ "nInserted" : 1 }) > db.user.find({uid:.. 더보기
(Dreamhack :: Webhacking) image-storage -문제소스 +upload.php +list.php +index.php -풀이 ----------------------------------------------------------------------------------------------------------------------------------- 다음 4.php파일을 업로드한 후에 리스트에서 4.php파일을 확인한 결과 ----------------------------------------------------------------------------------------------------------------------------------- 다음 소스코드의 php파일을 업로드 하면 flag를 획득할 수 있다. -막힌부분 문제에서.. 더보기