WarGame(229)
-
LOB - 2. gremlin -> cobolt (RTL기법)
어제 사이버가디언즈 멘토님께 RTL기법에 대해 강의를들었다.보통 lob에서는 shellcode를 이용해서 shell을 따려고 하지만, 막상 많은 ctf문제들을 풀어보면 shellcode를 직접적으로 입력해서 사용하는 문제들을 찾아보기 힘들다.따라서 현재까지의 습관을 고치고 앞으로 RTL를 이용해서 문제를 풀어보도록 하겠다. 먼저 로그인을하고 소스코드를 보자. 1번문제와 크게 다를게 없어보이지만 버퍼값이 16byte로 쉘코드를 넣기에는 부족하다.두가지의 방법이있는데.1. 환경변수에 쉘을 입력해서 탈취한다.하지만 환경변수를 이용하는 문제는 CTF에도 자주 나오지않는다.(첫번째 write-up)에서 다룸2. RTL기법을 이용해서 쉘을 탈취한다. RTL기법이란 (Return-to-Libc)의 약자로 리턴을 li..
2018.07.14 -
2. LOS - COBOLT
LOS COBOLT 마찬가지로 2번 문제도 소스코드부터 확인해봅시다! if문에서 id가 'admin'일시 solve가 되군요. 그럼 이번에도 엄청 간단하게 풀을 수 있을 것 같습니다. id 에 'admin'을 넣고 나머지는 다 주석처리! ~~~~?id=admin%27%23 (grin)
2018.07.14 -
1. LOS - GREMLIN
방학동안 개발공부와 보안공부를 같이 진행하려고 하였다. 하지만 내실력을보아하니 웹해킹을위해 php를 어느정도 공부한후 보안과 함께 공부하면 좋을것이라고 판단하였다. 그래서 LOS writeup를 쓸 예정입니다.^^ LOS GREMLIN 먼저 sql 소스코드를보면 다음과같다. if(result['id']) 를 참으로 만들어주게되면 solve가 동작하게된다.그럼 간단하게 생각해보면 id에 참이 들어가게끔만 해주면 된다. ~~~~?id=1234' or '1==1'%23 id의 값이 1234이거나 '1==1'참 %23 = # 뒤에있는 구문 주석처리
2018.07.13 -
pwnable.kr - fd
처음으로 쓰는 pwnable.kr이다.처음에 pwnable.kr을 접했을때는 writeup을 보더라도 이게 무슨소리인이 몰랐다.하지만 LOB를 풀고 조금씩 공부를하고난뒤 이해가 되니 이제 pwnable.kr을 풀어보려고 한다. 먼저 접속을하자 :) 파일들을 확인한뒤 fd.c 라는 파일이 있으니 소스코드를 확인해보자 http://forum.falinux.com/zbxe/index.php?document_srl=466628&mid=C_LIB에서 raed함수에 대한 더 자세한 정보를 얻을 수 있다. fd는 파일디스크립터로 표준입력으로 넣어줘야 if문 안에서 직접 "LETMEWIN"을 넣어줄 수 있다.파일디스크립터의 표준입력은 "0" 이므로 argv[1] - 0x1234 = 0이 되어야만 한다. IF문으로 들어..
2018.07.09 -
LOB - 9. troll -> vampire
이번문제는 정말 쉽게 푼 것 같다. 소스코드를 보자 추가된 부분은 argv 47번째가 "\xff"가 아니여야 하는 조건이다. 그래서 생각해본거는 47번째가 "\xff" 가 아닌 주소는 직접 찾기는 어려울거같아 "\x90"을 엄청 주고, 미끄러져서 shellcode를 실행하게 하는 방법이다. 첫 시도를 해보니 segmentation fault가 떴다. 가능성이 있다. 주소만 조금 바꾸어주고 "\x90"값을 늘려주니 shell을 땄다..ㅎㅎ (grin)
2018.07.05 -
LOB - 8. orge -> troll
어떤 새로운 함정이 새로 생겼는지 확인해보자. //onemore 부분에서 새로운게 생겼다. argv[1]도 초기화시키는 명령같다. 그러면 우리가 쉘코드를 입력할 수 있는 자리는 argv[0] 밖에 없다고 할 수 있다. 이름이 argv[0] 부분이니 이름을 쉘코드를 넣는 것으로 바꾸어주자. 쉘코드는 "\x2f"가 없어야해서 구글링해서 퍼왔다. 파일명 : `python -c 'print "\x90"*200 + "\xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30\x30\x74\x69\x69\x30\x63\x6a\x6f\x8a\xe4\x51\x54\x8a..
2018.07.05