본문 바로가기

Wargame

(56)
[xcz.kr] All Clear xcz.kr 고등학교 2학년 초부터 계속 풀었던 것 같은데 가끔식 풀다보니 어느새 얼마 안남았다. 나머지는 아직 감이 안잡혀서 Check만 해놓고 틈틈이 풀어야겠다. -> All Clear prob4(android) - apk파일이 아니고 따로 앱 환경을 구현해서 풀어야 하는 것 같다. -> adb devices 통해서 에뮬하면 바탕화면을 추출한다면 플래그가 나온다. prob28(network) - 네트워크 잘몰라서 이제까지 안풀었는데 나중에 네트워크 공부할때 풀어봐야겠당 -> 패킷통해서 chat.exe를 다운받을 수 있고, test 문자열을 송수신하면서 특정 xor 암호화 패턴을 알아낼 수 있다. 이를 통해 기존 암호화 채팅 메세지 내용을 복호화하고, 사진을 다운받을 수 있는데 덮어진 검은색 픽셀을 지..
[xcz.kr] prob25 XCZ Captcha! [xcz,kr] prob25 XCZ Captcha!xcz Captcha 문제다. 15초 안에 각 숫자 2개의 최소공배수를 입력하면 플래그를 건네준다~ [Solve] 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667from PIL import Imagefrom pytesser import *import urllib2import re, time def connect_web(url, cookie_data): request = urllib2.Request(url, '', cookie_data) response = urllib2.urlope..
[xcz.kr] prob26 ju57_ENc0dE [xcz.kr] prob26 ju57_ENc0dE 암호화 문제다.base64 인코딩 디코딩 원리에 대해서 공부하다가 몇몇 리버싱 문제를 풀어보고 계속 문제찾아보다가 생각난게 해당 문제다.해당 문제는 base64 암호화 원리와 굉장히 유사한데 테이블만 따로 구성되어있는 것 같다. (패딩 값이 P)base64 는 재귀함수를 이용해서 brute force하면 굉장히 편하게 나온다. [Solve]12345678910111213141516171819202122232425262728293031323334import urllib, urllib2 url = 'http://xcz.kr/START/prob/prob26.php'cookie_data = {'cookie': 'PHPSESSID=h1e48rj32gqvehjm7f..
[pwnable.kr] flag 엇 포너블 문제가 아닌 리버싱 문제다.파일 다운받아보면 IDA로 코드가 잘 안보이는데 일단 peid로 보았다. 밑에 언팩 정보를 보면 UPX 가 걸려있다는걸 확인할 수 있다. https://github.com/upx/upx/releases여기서 upx 다운받고 터미널에서 upx -d flag 쳐주면 된다. 문제 힌트보면 malloc로 공간을 확보해준 뒤에 거기다가 flag를 넣었다고 써있다.gdb로 브포건 후 디버깅하여 해당 값을 확인하였다 RDX에 flag 문자열이 들어간걸 보아 mov rdx, QWORD PTR [rip+0x2c0ee5] 부분이 flag 값을 넣는 코드인걸 확인했다.
[pwnable.kr] bof 간단한 bof 문제 같다. 12345678910111213141516171819#include #include #include void func(int key){ char overflowme[32]; printf("overflow me : "); gets(overflowme); // smash me! if(key == 0xcafebabe){ system("/bin/sh"); } else{ printf("Nah..\n"); }}int main(int argc, char* argv[]){ func(0xdeadbeef); return 0;} Colored by Color Scriptercsbof.c 소스다. 사실 여기서 살짝 해맸는데.. 저 소스 자체를 내 우분투 에서 컴파일 하여 오버플로우를 하려 했는데gd..
[pwnable.kr] collision 해쉬 충돌에 관한 문제인것 같다. hash collistion은 reversing.kr CRC1 을 풀어보면서 익혔었는데 생각보다 골치아팠다 ㅋㅋ.. 123456789101112131415161718192021222324252627282930313233col@ubuntu:~$ cat col.c#include #include unsigned long hashcode = 0x21DD09EC;unsigned long check_password(const char* p){ int* ip = (int*)p; int i; int res=0; for(i=0; i
[pwnable.kr] fd 포너블 잠깐 맛보면서 제일 먼저 풀어봤던 문제다. 1234567891011121314151617181920212223fd@ubuntu:~$ cat fd.c#include #include #include char buf[32];int main(int argc, char* argv[], char* envp[]){ if(argc
[Reversing.kr] All Clear 아.. 5문제에서 진전이 안보인다. 지금은 조금 힘들지만 나중에 조금만 열심히 분석해서 열심히 다 풀도록 노력해야겠다 All Clear.