분류 전체보기(603)
-
리그오브 가디언즈 (League of guardians) 1회
사이버가디언즈 1회차에 참가했습니다.모여서 CTF를 해본것은 해킹캠프 이후로 오랜만 인 것 같네요..총 6개의 학교가 리그에 참가하게 되었습니다. 가위바위보 관련된 게임 2문제밖에 풀지 못했지만,형들이 빡캐리해주셔서... 심각한 버스를 탔던것 같습니다.남은기간동안 열심히 공부해서 다음 대회는 방학이 지난후 10월경에 참가해보려고 합니다. 더 나은 포너버가 되기위해서 방학에 열심히 공부해야하는데...(개발에도 흥미가 생겨 큰일입니다.)(ㅠ.ㅠ)시간을 쪼개서 열심히 할 예정입니다. 아래는 게시글관련 페이스북입니다.
2018.07.05 -
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 -
LOB - 7.darkelf -> orge
먼저 소스코드의 바뀐부분을 확인해보자 소스코드를 보니 "파란색" 부분 argv[0]의 길이가 77이 나와야만한다. 그래서 argv의 길이를 확인해보기위한 간단한 C언어 코드를 작성해봤다. 이렇게 소스를 작성한후 컴파일하고, 파일명을 바꾸어가면서 값으 변화를 확인해보았다. argv[0]의 길이는 파일명+2 으로 표시되는 것을 확인하였다. 그러면 이 문제를 풀기위해서는 파일명을 75글자로 바꾸어 주어야 하고, A*77을 한 길이에서 2를 뺴서 바꾸어주었다. 길이를 구하고, 바꾸어준다 (grin) 그리고 마지막 글자만 B로 바꾼다음 디버깅을 해줘서 argv[2]의 값이 들어갈 위치를 찾는다. "\x4c\xfb\xff\xbf"가 "\x90"의 시작주소이다. 그후 쉘코드를 포함한 익스플로잇을 해주면? (grin)
2018.07.05 -
PROB17 - Password Recover...
PROB17 - Password Recover...오랜만에 미스크가 풀고싶어서 xcz.kr을 찾게 되었다, 17번 문제가 끌려서 17번을 들어가봤는데 이렇다 내이름은 짱짱해컨데 저 사이트에서 비번잊이버렸으니 찾아줄래?? 라고 부탁을한다. 파일을 다운받아보니 와이어샤크로 열어볼수 있는 파일이다. 아이디를 알고있을때 비번을 찾아야하니 TCPstream을 검색해서 stream을 하나씩 늘려가면서 id가 짱짱해커가 나올 때 까지 보면 된다고 생각했다. 46번 stream에서 내가 원하는 정보를 찾을 수 있었다. 따라서 passwd는 IDISLIE이다.
2018.07.05 -
Webhacking 6번
이번엔 Webhacking 6번이다.Webhacking.kr에 대한 포스팅이 4번째인가 그런데... 초반이라 쉽게쉽게풀리는 것 같다.점점 난의도가 올라가면 기간이 아마 길어질 것 같다. 6번을 클릭하면 ID와 password가 나오고 HINT로 base64를 주었다.인코딩이나 디코딩 하라는 뜻인데 index.php 소스를 보면 알 수 있겠다. 반복문을 이용해서 id와 password를 인코딩하는 소스가 맨 위에 있고,str_replace라는 게 있는데 base64에는 !,@,$등의 특수문자가 안붙기 때문에 무시해도 된다. 아래를 보면 admin이란 것을 base64로 20번 인코딩해서 user하고 password쿠키에 넣어주면 solve가 될 것 같다. 그럼 https://www.base64encode...
2018.07.05