WeekHack
-
CVE-2017-11882WeekHack/Pwnable 2021. 4. 25. 18:53
안녕하세요, comalmot입니다. 오늘은 CVE-2017-11882를 분석하려고 합니다. 취약점 소개 CVE-2017-11882 CVSS Score : 9.3 영향을 받는 프로그램 : Microsoft Office 제품군 중 CVE-2017-11882 관련 업데이트를 받지 않은 모든 버전 (Microsoft Office 365, Office 2016, Office 2013, Office 2010, Office 2007 등) 취약점 타입 : 오버플로우로 인한 메모리 커럽션 EQNEDT32.EXE EQNEDT32.EXE는 구버전 Microsoft Offie가 사용하던 Microsoft Equation 3.0 Object의 호환을 위해 Microsoft가 Office에 남겨놓은 기능으로, 현재 수식편집기와 ..
-
[Codegate2020_Qual] - CSP 뒷북 풀이WeekHack/WebHacking 2020. 2. 10. 03:31
안녕하세요. Luke입니다. 코드게이트 2020을 마치고 왔습니다. 올해 코게는 포너블에만 치우치지 않고 여러 분야의 문제가 나와서 더욱 재밌었던 것 같습니다. 비록 33위로 본선은 못갈 것 같습니다만, 대회가 끝나고 라업이 나왔기에, 오랜 시간을 쏟았던 문제인 csp를 다시 한번 풀어보려 합니다. CSP는 702점 짜리 문제로, 이거 풀었으면 본선 갔는데 정말 아쉬운 문제였습니다. 평소에 많은 문제를 접해보는게 왜 중요한지 다시금 깨달을 수 있는 문제였습니다. 그렇기에 서버가 닫히기 전에 후다닥 한번 풀어봤습니다. 먼저 CSP의 구조를 간단히 살펴보자면, 제일먼저 보이는게 index.php로 다음과 같이 생겼습니다. 그런 다음 저기에서 무언가를 입력하고 submit를 하면, view.php가 펼쳐집니다..
-
[Christmas CTF 2019 Solo Test] 우분투 18.04 이후 버전에서 ROP가 안되는 문제에 대해 (Libc2.27 이후 버전WeekHack/Pwnable 2019. 12. 30. 02:34
안녕하세요. Luke입니다. 오랜만에 하는 pwnable 포스팅입니다. 2019년 데프콘 이후로 알게되었던 문제인데, 우분투 16에서는 작동하는 익스코드가 우분투 18버전 이후로만 넘어오면 익스가 안되는 경우가 있습니다. (그거 때매 데프콘에서 고생해서 알게되었죠.) 이 문제에 대한 해결방법을 꼭 언젠간 포스팅을 해야겠다고 미루고 미루다가 이번 Christmas CTF 2019에서 이를 활용한 문제에 대해 나오길래 포스팅합니다. 제 블로그 포스팅 신조인 "글은 뉴비도 알아보기 쉽게"를 위해 최대한 쉽고 절차적으로 써보도록 하겠습니다. 이번 포스팅의 핵심은 아무래도 libc2.27 이후 버전에서의 ROP이므로 기본적인 ROP방법에 대해서는 설명하지 않습니다. 기본적인 ROP방법에 대해서는 이전에 올린 글을..
-
Pwnable.kr 1번 Toddler's bottle fdWeekHack/Pwnable 2019. 9. 19. 01:43
pwnable.kr 을 처음부터 풀어보려합니다. 오랜만에 작성하는 포너블 라업이군요 ssh pwnable.kr -p 2222 fd/guest 실행 아무것도 하지 않고 실행하면 pass argv[1] a number이 뜨고 종료됩니다. 분석 c언어 파일이 주어져서 따로 바이너리를 디스어셈블하거나 리버싱할 필요가 없었습니다. 이런 식으로 소스코드가 있습니다. 간단히 작동 순서를 풀어 써 본다면, 입력 받은 값을 정수형을 바꾼 다음 0x1234(4660)만큼 뺀 값을 fd에 저장합니다. 32만큼 buf에 read()함수로 입력을 받습니다. 그 중 첫 인자인 file_descriptor은 fd의 정수값입니다. 만약 read로 입력 받은 값이 LETMEWIN\n일 경우 flag를 출력합니다. 익스플로잇 따라서 0..
-
pwnable.tw 1번 start write-up 패스워드WeekHack/Pwnable 2019. 8. 8. 17:13
안녕하세요. Luke입니다. pwnable.tw은 문제를 풀지 않은 사람에게 write-up 공개가 금지되어있는 관계로 귀찮으시더라도 아래 링크에서 pwnable.tw 로그인 후 write-up 글의 패스워드를 확인후 입력하여 글을 읽어주시면 감사하겠습니다. pwnable.tw(패스워드 확인): https://pwnable.tw/writeup/1/16348 Write-Up: https://weekhack.tistory.com/37 pwnable.tw 1번 start write-up weekhack.tistory.com
-
-
Assembly의 기초WeekHack/ASM_Coding 2019. 8. 1. 11:08
안녕하세요. Luke입니다. Asm_Coding 카테고리를 새로 신설하여 어셈블리어로 간단한 코딩을 하는 법을 포스팅해보려 합니다. 기존은 intel 문법입니다. pwnable.tw 풀려는데 IDA Hexray에 익숙해져버려 다시 공부할 겸 정리하는 건 안비밀. start 문제 풀려고 다시 정리하는것도 안비밀 먼저 ASM의 기본적인 문법은 옵코드와 인자로 이루어져있습니다. 옵코드는 명령어이며 인자는 말 그대로 해당 옵코드에 전달할 인자를 뜻합니다. ex) mov eax, 3 위의 예제에서 mov는 옵코드, eax와 3은 인자입니다. 그럼 이쯤되서 다들 궁금하신게 있을 건데요.. 저 위의 eax는 무엇일까요? 저 eax는 바로...레지스터입니다. 그중에서도 eax의 경우 범용 레지스터라고 합니다. 그럼 이..
-
webhacking.kr 8번 User-Agent를 이용한 SQL-Injection 문제WeekHack/WebHacking 2019. 7. 8. 08:46
안녕하세요. Luke입니다. 라업을 쓰다가 인터넷이 끊겨서 라업을 두번 쓰는 webhacking.kr 8번 문제입니다 ㅋㅋ 이 문제 이상한 방향으로 삽질을 하기도 했던 문제인데 삽질을 두번 시키는 문제네요 ㅠㅠ 일단 접속하면 아래 그림과 같이 User-Agent가 뜨고 done!(0/70)이 뜨게 됩니다.(저는 두번째 접속이라 2/70 이라고 뜨네요) 겉으로 보이는 웹은 User-Agent라는 문구가 있고, 접속 횟수 만큼 (x/70)에서 x가 올라가게 됩니다. 그래서 저는 같은 User-Agent로 70번 접속하면 문제가 solve될 거라고 생각해 python requests 모듈로 헤더를 추가해 70번 접속을 시켰으나, 다시 0으로 되돌아가더라고요. 그래서 이건 풀이법이 아니라고 생각했습니다. 그래서..
-
webhacking.kr 6번 base64와 replace를 이용한 admin 문제WeekHack/WebHacking 2019. 7. 6. 11:17
안녕하세요. Luke입니다. 웹케알 6번 문제입니다. 100점 짜리 문제더군요. 쉽긴 쉬웠는데 코드짜야되서 귀찮았던 문제입니다. 들어가면 다음과 같이 guest, 123qw가 각각 아이디 패스워드랍니다. hint가 base64입니다. 일단 소스를 보았습니다. 이렇다고 합니다. 대충 분석해보면 쿠키에 있는 id와 pw를 각각 위의 조건과 같이 replace하고 decode를 20번 합니다. 그래서 거꾸로 admin을 저 조건에 맞게 encode하는 코드를 짰습니다.
-
webhacking.kr 5번 login/join 문제WeekHack/WebHacking 2019. 7. 6. 10:45
안녕하세요. Luke입니다. webhacking.kr 5번을 가지고 왔습니다. 300점 짜리 문제라 150점 짜리 문제 보다는 조금 더 복잡하더군요. 그래도 빠르게 풀어보겠습니다. login과 join이 있어서 일단 login으로 들어가봤습니다. 로그인 창이 있네요. 아무거나 넣어볼게요. id: tester pw: testda admin이 아니면 안된다네요? admin을 넣어보았습니다. Password가 틀렸다네요..? SQL Injection일거라고 생각하고 실커엇 때려봤는데 아닌거 같더군요. 그래서 join을 살펴보았습니다. join을 클릭하면! Access Denied! 가 뜨면서 못들어간다네요 ㅠㅠ 그래서 html소스를 열어봤습니다. . . . . . . . login으로 이동하는 링크가 mem ..