본문 바로가기

전체 글

(19)
[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가 있는데, 이 ..
[웹해킹] HACKCTF - TIME WriteUp HACKCTF의 TIME을 풀어보았다. 처음엔, 60*60*24*30*2와 크거나 같고, 60*60*24*30*3과 작거나 같은, 숫자를 입력하기만 되니 쉬운거라고 생각을 하고, 60*60*24*30*2의 결과인, 5184000을 적었다. 그런데, 프로그램이 반응을 안하는 것이다. 그래서 엥 왜지 싶었는데, 잘보니, 아래에 sleep()가 있었다. 이걸 기다릴까 생각해보니, 60*60*24*30*2는 두 달이다... 그래서 알아보니, 문제는 저것이었다. (int)키워드를 통해, 형변환이 되는데, 위의 5184000을 쓸때, 그대로 적지 않고, 5.184e6으로 쓰면 이것을 int로 형변환할때, 5가 된다는 것이다... 헉! 그래서 직접해보면, 5초 기다리고 난 뒤에 flag가 출력된다..
[웹해킹] HACKCTF - Magic Number WriteUp php에서도, Javascript와 같이, ==와 ===가 구분되어 있어서, ==는 값 비교를, ===는 값과 자료형이 같은지를 비교한다고 한다. php에서는 '0e100'와 같은 구문을 e표현법이라고하여, 엄청 크거나 작은 숫자를 저렇게 표현할 수 있다고 한다. 위의 문자열 '240610708'을 md5로 해싱을 하게 되면 0E462097431906509019562988736854가 된다. 이녀석이 위의 if(md5('240610708') == sha1($input))구문에서 == 비교를 할때, php가 0E~~~를 보고, 0x10^~~인가보다 하고 판단해서, 0이된다. 그래서, 우리도 sha1로 digest 했을때, 0e~~가 되는 문자열을 찾아서 넣어주면 해싱 검사를 bypass할 수 있다. 입력하..
[웹해킹] 자바스크립트 문법 정리 본 글에서 사용한 예제나 사진은 다음 사이트에서 가져왔습니다. www.tcpschool.com/javascript/ 자바스크립트 기본 타입 자바스크립트의 기본 타입에는 다음과 같은 것들이 존재한다. 숫자 문자열 boolean undefined Symbol 객체 숫자는 모두 실수로 표현한다. undefined는 타입이 정해지지 않았음을 나타내는 타입이다. 변수의 선언 및 초기화 var hello = 'hello world!' hello = 10 dog = "멍멍" 비교 연산자 다른 산술연산자, 비트연산자 등은 전부 다른 언어와 비슷하다. 하지만 자바스크립트에는 ==와 ===라는 연산자가 있는데, 이는 타입별 변환이 비교적 자유로운 자바스크립트에서 ==는 값만이 같으면 True, ===는 값이외에도 타입도 ..
[책 요약] 이제 시작이야! 디지털 포렌식 4장 3장에서 이야기 한것처럼 증거의 무결성을 보장하기 위해, 증거로의 모든 접근을 끊어야 한다. USB와 같은 이동식 매체는 매우 조그만데 안에 엄청나게 많은 정보가 들어갈 수 있다. 그러므로 이런 매체를 잘 수색해야 한다. 저장매체 이외에도 근처를 관찰해서 용의자의 지식수준등을 파악하거나, 암호기능을 사용하고 있는지 파악해야 한다. 포렌식 조사관에게 있어서 암호는 큰 걸림돌이다. 쓰레기 통을 뒤지다 보면 어떤 제품을 사용하고 있는지 알 수도 있다. 휴대폰과 같은 무선 통신 기기는 원격으로 정보가 조작될 수 있다. 그러므로, 휴대폰을 끄거나, 페러데이 봉투같은 무선신호로 부터 휴대폰을 고립시킬수 있는 방법을 사용한다. 다만 휴대폰을 끄는 경우 PC와 동일하게 휴대폰에 암호가 걸려 있을 수도 있다. 휘발성의 ..
[책 요약] 이제 시작이야! 디지털 포렌식 3장 포렌식 랩이란 미국 전역에 널리퍼진 수사 기관(?) 같은 것이다. 포렌식 조사관들이 이 랩에 소속되어서 조사를 하고는 한다. 몰론 무조건 랩에 소속될 필요는 없다. 대부분의 랩은 그들이 속한 법 집행 기관을 따른다. 대표적으로 버지니아 콴티코의 FBI 범죄연구소가 있다. FBI는 늘어나는 포렌식 조사관 수요를 만족하기 위해 RCFL이라는 프로그램을 시작하였다. 미국의 16개 시설에서 운영되고 있으며, 연방, 주, 지역 법 집행 기관과의 파트너 쉽을 위해 인력을 충원하고 관리한다. 결과는 매우 성공적으로, 2010년 회계연도 동안 6,564 개의 포렌식 조사를 실시하여, 3,086 테라바이트의 데이터를 처리하였다. 가상 랩을 운영하기도 한다. 비용절감이나 더 많은 자원에 접근 가능하고, 더 많은 전문성에 ..