728x90 반응형 Wargame28 LOB gremlin gate와 마찬가지로 cp명령어를 실행하여 파일을 복사한다. 그후 gremlin.c를 열어 보면 16이라는 buffer로 small buffer라는 것을 알수 있다.그후 gdb를 이용하여 보면 sub 0x10의 값을 확인해보면 16이라는 것으로 dummy 값이 없는 것을 확인 할수 있다. 16바이트를 확보하는 것으로 보이므로 main+3에 브레이크 포인트를 건다. 그리고 프로그램 실행 동시에 인자가 전달되므로 argv[2]의 위치를 알아보기위해 $(python -c 'print "\x90(buffer+sfp값)"*20+"BBBB(ret을 덮어써야할 주소 가들어갈 위치"') $(python -c 'print "A"*241"")을 넣는다 0x42424242가 ret위치로 덮어써야하므로 대충 414141414.. Wargame/CTF(Capture The Flag) 2015. 9. 14. 0 LOB gate LOB gate로 접속을 하면 gate와 gate로 접속가능하다. 접속후 확인 하면 파일이 3개있는 것이 확인가능 하다 먼저 cp 명령을 이용하여 gremlin의 권한이 없어 gdb 도 못하는 문제를 해결하자 !cp명령어는 파일을 복사하는 명령어이다. 파일을 복사하고 gremlin.c 를 열어보면 strcpy에서 문제가 발생하는 것을 볼수 있다.페이로드를 생각 해보면 일단 buffer 260(256+sfp)+shellcode+ret주소(buffer주소)를 넣어야한다. gdb로 확인을 해보면 strcpy다음에서 일어나니 b *main+59에 브레이크 포인트를 걸고 r $(python -c 'print "\x90"*200(임의의 값)')을 넣고 x/100x $esp 로 esp값을 확인 하면 0x9090909.. Wargame/CTF(Capture The Flag) 2015. 9. 14. 0 Challenge 36 - Back Up 문제에 들어가게 되면 저말이 끝이다... 소스를 봐도 아무말이 없다... 그치만 vi 로 작업하던 도중 blackout 정전이 됬다는 것을 짐작 할수 있다. 리눅스 vi를 이용해보면 vi 쓰는 도중 백업파일로 .swp라는 파일이 만들어지는 것을 볼 수있다. 이로 우리는 짐작으로 /.index.php.swp를 입력하면(.은 현재 폴더를 나타냄) good! 이라고 나오고 password 는 md5로 되어 있다고 나온다 이로 REMOTE_ADDR => IP + dlseprtmvpdlwlfmfquswhgkwkglgl을 md5로 해쉬한 값이 password이다. 이로 문제 Clear!!! Wargame/CTF(Capture The Flag) 2015. 9. 5. 0 Chellenge 39 - ??? 문제를 들어가면 빈칸이다 그럼 소스부터보자!!!소스를 확인 하면 index.phps로 이동 하라 한다. 들어가자! 들어가면 이러한 소스가 나오는데 ... 소스를 분석해보자. 여기서의 mysql_fetch_array()는 에러가 뜨는 mysql_fetch_array() 호출문인 $q=mysql_fetch_array(mysql_query("select 'good' from zmail_member where id='$_POST[id]")); 자세히 살펴보면 id = '$_POST[id] 에서 싱글쿼터가 닫혀 있지 않다. 따라서 에러가 발생하는 문제점을 이용하는 문제이다. 이제 에러 부분을 찾았고 $_POST[id] 에 대한걸 더 분석해보면 여기서 최대길이가 15글자라고 하는 힌트를 얻을 수 있다. $_POST.. Wargame/CTF(Capture The Flag) 2015. 9. 5. 0 Challenge 27 - SQL Injection 먼저 27번을 들어가게 되면 위의 사진처럼 sql injection문제라는 것을 알수 있다. 이제 소스를 보게 되면 if(eregi~~~)를 보게 되면 union등을 쓰면 no hack 이라는 말을 띄우는 것을 확인 할수 있다. 우리는 admin의 값을 받으면 답을 얻을 수있는데 과연 ??? 우리는 이제 쿼리문을 넣어 injection을 해야하는데 -1) or no like 1--(공백)을 입력하면 guest라는 말이 나오는 것을 확인할 수있다.-1) or no like 1-- 는 no=1 이라는 의미로 이제 guest값을 얻어 냈으니 -1) or no like 2--(공백)을 입력하면 문제 Clear!!! Wargame/CTF(Capture The Flag) 2015. 9. 5. 0 Challenge10 - buy lotto 먼저 문제들어가서 소스를 보면 마우스를 올렸을 경우 0가 Y0U로 바뀌고 1씩 이동하다가 800이 되면 clear가 된다.이러하게 나와 있는 것을 이제 한번씩 클릭을 세월아 내월아~ 크롬에서는 script를 쉽게 바꿀수 있다. 이를 이용하여 노란 부분 즉 position:relative:left:0 이부분을 799로 바꾸자.그리고 0을 한번 클릭 하면 clear인데 0이 클릭이 안된다. 그럼 콘솔에서 hackme.style.posLeft=799를 입력하고 클릭해보자! -그럼 클리어!!! Wargame/CTF(Capture The Flag) 2015. 9. 5. 0 Challenge 38 - Log Injection webhacking.kr 38번 문제를 먼저보게 되면 사이트를 접속하게 되면 이러한 화면이 나온다.이로 LOG Injection이라는 문제라는 것을 쉽게 확인 할수 있다.먼저 aaaaaaaaa을 입력하여 어떠한 변화가 있는지 확인 하여보자 입력을 하니 아무런 변화가 없는 것을 확인 할 수있다. 그럼 admin을 입력하여 보면 이러한 창이 나오는 것을 알 수 있다. 이는 admin이 아니라는 소리니깐 login 옆에 있는 admin을 클릭 해보자 그럼 자신의 ip :aaaaaaaaaa라고 입력한 글을 볼수 있다. 그럼 다시 처음으로 돌아와 자신의 ip:admin을 입력하면 webhacking.kr 을 쉽게 clear!!! Wargame/CTF(Capture The Flag) 2015. 9. 5. 0 fedora원정대 core 1,2,3,4 Wargame/CTF(Capture The Flag) 2015. 9. 3. 0 이전 1 2 다음 💲 추천 글 728x90 반응형