본문 바로가기

해킹

(12)
[reversing.kr] Direct3D FPS 우선, 실행을 시켜보았다. 그러면 위와 같이 나오게 되는데 뭔가 엄청 재밌어 보인다. 근데 이속이 느려서 개답답함.. 요런 귀여운 녀석이 있는데, 총을 마구 쏴도 데미지가 다는건지 마는건지.. 가만히 있기만 하다. 게임 내를 둘러봤지만, 이속도 매우 느리고 답답해서 그냥 나왔다. 딱히 별거는 없고, 저런 녀석들이 매우 많이 있다. (근데 뭐 어쩌라는 건지..) 이제 직접 디버거로 까보자. 문자열 참조로 Game Clear!를 찾으면 위와 같은 루틴을 찾을 수 있는데, eax가 0x309194부터 0x210씩 커지며, 0x30F8B4와 크거나 같아지면 clear가 된다. 이 때 eax의 주소에 있는 값이 전부 1이 아니어야 한다. (flag같으므로, 0이어야 함을 예상할 수 있다.) 위의 MessageBo..
웹해킹 - SOP와 CSRF SOP SOP는 Same Origin Policy라고 하여, 동일 출처 정책이라고한다. 이건 어떤 사이트에서 또 다른 사이트의 리소스를 함부로 가져올 수 없도록 하는 것이다. SOP를 이해하기 이전에 그러면 Same Origin은 무엇일까? Same Origin을 판별하기 위해서는 scheme, port, host를 비교해봐야 한다. 예를들어, https://www.naver.com 이라는 주소가 있다고 할 때, shceme은 프로토콜인 https가 되고, port는 https 포트번호인 443번, host는 www가 된다. 그러므로, 예를 들어, 아래의 여러 개의 URI가 있다고 할 때, http://xyz.example.com/hello.php http://xyz.example.com/index/pw..
[reversing.kr] position 우선 readme를 읽어보자. name을 통해 serial을 gen하는 그런 문제인것 같다. 그러면 우리는 serial generation 루틴을 찾아서 분석해야 할 것이다. 우선 패킹은 되어있지 않은 것으로 확인하였다. 문자열 참조를 통해 다음의 루틴을 찾아보자. 그러면 위의 call position.8D1740에서 eax값이 세팅되고 이 값이 0이면 Correct를 띄우는 것을 확인할 수 있다. 그러므로, 위 함수 안에 key gen과 비교 루틴이 있을 것이다. 그전에, 이 프로그램은 event handling 방식이기에, 위의 루틴이 실행되는 event를 알아보면, serial이나 name칸에 어느것이든 적힐 때마다, 위의 루틴을 반복한다. 그러므로, 우선 serial 칸에 readme에 제공되어있..
[reversing.kr] easyELF 안녕하세요? 오늘은 EasyELF라는 문제를 풀어봤어용! 그러면 저와 함께 풀어볼까요?? Easy_ELF를 실행해줄까용?? "안녕!" 이라고 써줬는데, 바로 틀렸다면서 종료 해버리네요.. 그러면 gdb로 열어볼까요? 헉! strip 되어있나? main이 안뜨네용 그러면 start를 눌러서 들어가 볼까요?? 어떤 루틴이 존재하네요! 그리고 연달아서, 세 개의 함수와 아래의 cmp eax, 0x1을 보아하니,, 첫 번째 함수는 init 문장 출력 두 번째 함수는 read 세 번째 함수는 key auth를 하는 것을 예측할 수 있네요! 그러면 세 번째 함수에 들어가서 어셈을 좀 읽어볼까요? 0x804a021에서 1byte를 읽어오고 있어요! 흠.. 갑자기 어떤 주소가 나온 것도 모자라, 1로 끝난다고? 이거 ..
JAVA SCRIPT - Window 객체 본 포스팅은 www.tcpschool.com 에서 가져온 자료와 정보를 바탕으로 적혔음을 밝힙니다. Javascript에서 Window 객체는 DOM에서 document 객체가 해당 html문서를 가리키는 객체였던 것처럼, Window 객체는 해당 브라우저 창을 가리키는 객체이다. 그리고 자바스크립트의 모든 전역 변수와 전역 메소드가 window객체 안에 자동으로 포함된다. 그러니까 window.####는 자바스크립트내에 전역 변수 or 전역 함수인 ####로 그대로 존재한다. 다음을 보자. 심지어, DOM에서의 document객체도 전역 변수이기 때문에, window 안에 포함된다.(헉!) Location 객체 Location객체는 브라우저의 URI 링크와 관련된 일을 해주는 친구이다. 링크를 잘라주는..
[HACKCTF] - 가위바위보 사이트에 들어가면 다음과 같은 사진이 뜬다. 그 후에 가위바위보를 하는데, 별로 중요해 보이지는 않는다. 왼쪽 위에 설정을 하는 부분이 있는데, 이를 누르게 되면, 위와 같이 나온다. 사실 잘 모르겠어서 인터넷을 찾아봤는데, 여기다가 쉘을 업로드할 수 있다고 한다. 그러니까 순서대로, 1. 파일업로드 2. 업로드한 파일의 주소 찾기 3. 접근 의 3단계로 진행하면 된다. 우선 쉘을 업로드하겠다. 참고로 웹shell은 아래와 같이 구성된다. 의외로 간단하다. 맨 앞의 8byte는 png의 file signature로, png의 앞부분을 가리켜서, 위 문제에서 사진파일 검사를 우회한다. 그 후 php의 system 함수를 사용하여 웹쉘을 올릴 수 있다. 그 후에는 웹쉘에 접근하기 위해 웹쉘의 경로를 알아야 ..
[HACKCTF] Home 처음 들어가면 위와 같은 화면이 뜨게 된다. 인증되지 않은 IP주소라고 하는데, 위의 머리말에 강조가 되어 있는 것을 보면, 머리말(Header)를 뜻하는 것 같다. 그래서 HTTP 헤더 중에 IP주소를 나타내는 헤더가 있는지 알아보았다. 그러니 위와 같은 헤더가 있는 것을 확인할 수 있었다. 그래서 postman이라는 프로그램을 통해서 헤더를 변경하니 위의 사진과 같이 바뀌는 것을 알 수 있었다. 이제는 뭐가 인증되는 IP일까를 생각해봤는데, 여기 HACKCTF의 IP주소라면 되지 않을까 싶어서, nslookup을 통해 IP주소를 알아내어서, 사용했지만, 그래도 아무일도 일어나지 않았다. 그 때 혹시 loopback address인 127.0.0.1을 사용하는게 아닐까 싶어서 이를 적어봤더니, flag..
[웹해킹] HACKCTF - Input Check 처음에 문제를 켜면, 아래와 같이 나온다. 솔직히 어떻게 하는지 몰라서, 찾아봤는데, 아래 링크 참고 hackability.kr/entry/PHP-strcmp-%EC%B7%A8%EC%95%BD%EC%A0%90%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%9D%B8%EC%A6%9D-%EC%9A%B0%ED%9A%8C [PHP] strcmp 취약점을 이용한 인증 우회 최조 작성: 2014-02-01 최종 수정: 2015-01-20 안녕하세요. Hackability 입니다. 이번에 작성할 내용은 PHP 에서 strcmp 취약점을 이용한 인증 우회 기법 입니다. 아래와 같이 간단히 인증을 하는 login.php 가.. hackability.kr php에서도 strcmp가 있는데, 이 ..