본문 바로가기

전체 글

(178)
xcz.kr PROB18 xcz.kr 의 PROB18이다.제목은 Web Basic소스페이지를 볼 수 있다.소스페이지를 살펴보자. 도통 뭔지 모르겠는 소스코드가 등장한다..변수명도 너무 다 비슷해보이고..그래서 변수명만 조금 정리를 한 코드를 올리겠다. 1234567891011121314151617181920212223
wargame.kr DLL_with_notepad wargame.kr 의 DLL with notepad 문제다.start를 누르고 페이지에 접속하면 이런 화면이 등장한다.download를 눌러서 파일을 다운로드 받자. 다운로드받은 zip파일을 풀면 notepad.exe, blueh4g13.dll 두개의 파일이 등장한다.결국 저 dll 파일 안에 답이 있을건데, 그럼 dll을 분석해야한다.이 문제는 dll을 분석할 수 있는가? 를 묻는 문제인 것 같다. 역시나. notepad.exe를 실행시키면 믿에 blueh4g13.dll이 붙어있는걸 확인할 수 있다. 그럼 OllyDBG에서 저 notepad를 Attach해서 notepad안의 dll들의 위치를 보고저 붙어있는 blue...dll의 위치를 찾아보자 떡하니 blue4g... 라는 이름을 가진 dll이 있..
wargame.kr strcmp wargame.kr 의 strcmp 문제다.strcmp 함수의 우회법을 알면 플래그를 가질 수 있단다. 딱 들어가면 password를 입력받는 박스와 밑의 소스코드가 있다.소스코드부터 살펴보도록하자. 랜덤값으로 password를 파일에서 가져오는데어쨌든간 그 password랑 내가 입력한 password랑 같아야지 키 값이 출력된다.그럼 정상적으로는 거의 불가능에 가깝게 패스워드가 일치할 수 없다는것이다.strcmp 함수의 취약점을 이용하면 손쉽게 풀 수 있다.php 버전마다 다르지만, strcmp 함수에는 배열과 문자열을 비교했을 때NULL을 반환하게 되어있다. 즉 0 을 반환한다.그게 무슨소리냐? strcmp는 두 문자열이 같을 때 0을 반환하게 된다.결국 문자열과 배열을 비교하게되면 무조건 0을 반..
05. 스택, 스택프레임 1. 스택(Stack) 스택의 구조나 부가적인걸 설명하기에 앞서서 스택의 기본을 설명하겠습니다. 스택은 일단 후입선출구조(FILO)로 마지막에 들어간게 제일 먼저 꺼내지는 특징을 지니고 있다.그리고 높은주소에서 낮은주소로 성장한다. 그림으로 살펴보면 대략 이런식으로 생겼다. 저 안에 들어있는건 신경쓸 필요없다.중요한 부분은 높은주소에서 낮은주소로 성장한다는 것, 그리고 저 옆의 esp라는 것이다.높은주소에서 낮은주소는 그렇다치자. 그럼 esp는 무엇일까? ESP(Extend Stack Pointer) 즉, 말 그대로 스택 포인터다. 스택이 현재 어디에 있는지를 가리키는 역할을 하는 레지스터다.그럼 저 esp는 어디에 쓰일까? 이 그림을 보자. 스택에 메인함수,3,2,function1(),1이 들어있다.현..
xcz.kr PROB32 xcz.kr 의 PROB32이다.제목은 Easy Trick내용은 PHP트릭을 이용해서 키를 구하란다. 먼저 Source Page부터 살펴보자. a라는 매개변수로 값을 받아오고 그게1273536633313213246546??????????????????????????????와 같으면 키를 출력하고 아니면 Failed ur tricks를 출력한다..그런데 저 ?를 알아낼 아무 단서조차 없다.어쨌든 검색으로 찾아낸건데, php에 옛날 취약점이라고한다.숫자가 14자리가 넘어가면 ==에서 그 뒤의 숫자들은 검사와 상관없이자리수만 맞으면 맞는다고 생각한다는것이다. Prob Page로 들어오면 이런 문자가 떠있다..별로 중요하진않다. 아까 말한대로 자릿수만 맞추주면 되니까?대신 1로 자리수를 맞춰주고 페이지를 실행해..
xcz.kr PROB30 xcz.kr 의 PROB30.제목은 Easy DLL이고키를 찾으라고한다. 다운로드 받으면 prob30.dll 이라는 dll 파일이 다운로드 받아진다. 올리디버거에 올려서 스트링 검색을 키자마자the key is %s.. 가 보인다. 저 부분에서 키를 출력하는 것일테니저 부분을 중심으로 살펴보아야한다. 이렇게 브레이크포인트를 걸어두고, 이 dll 안에 키 값을 출력하는 함수부분의 제일 처음으로 넘어가서실행을 한단계씩 시켜봐야한다.그런데 이 파일은 dll, 즉 Dynamic Library Link 파일이고, 이 파일 내부에서는C드라이브 아래의 dllinj 파일 안의 target.exe 파일로 실행되게끔 되어있다.하지만 우리가 지금 dllinjection을 이용해서 이 파일을 실행할 수는 없는 노릇이므로강제로..
xcz.kr PROB3 xcz.kr 의 PROB3이다.제목은 I don't speak English.내용을 보아하니 딱 봐도 암호화 문제같다. 앞의 Serz EKW를 검색해보니 이런 키워드가 눈에 띄었다.alphabetic cipher? 처음 들어본다. 일단 디코더를 검색해보자. 디코더를 검색해도 나오지가 않아서 그냥 alphabetic cipher만 검색해보았더니이건 Vigenere cipher란다. 그래서 Vigenere cipher decoder를 검색했다. 디코더를 찾아 들어가서 암호화 된 문장 모두를 복사해서 넣은다음몇가지 부수적 옵션을 맞춰주고 Break Cipher를 해주면 정상적으로 키는 뭐다 라면서 해독된 문장이 나온다.끝.
xcz.kr PROB2 xcz.kr 의 PROB2다.제목이 Listen Carefully! 고 Auth key 는 대문자라고한다.Download Here에 일단 들어가보자. 5초짜리 짧은 wav파일이 등장한다. 이걸 다운로드 받자. 다운로드 받고 필자는 GoldWave로 열었다.다른 툴이 있다면 다른 툴로 열어도 좋을 것 같다.딱 보면 조금 긴 부분과 짧은 부분으로 나누어져있다.wav파일을 들으면서, 그리고 파일 이름으로 추측하면이건 모스부호일 것이다. 저 GoldWave에 올려진 파일의 막대기?를 맞춰서모스부호로 해독하면 답이 나올것이다. 모스부호 코드는 이걸 보면서 해독하면 되겠다. 끝.