분류 전체보기
-
[WEB] Carve Party 문제풀이 자바스크립트(JavaScript)는 객체(object) 기반의 스크립트 언어이다. 자바스크립트로 작성한 프로그램은 스크립트(script)라고 부르며, 스크립트는 웹 페이지의 HTML 안에 작성할 수 있다. HTML 안에 작성된 스크립트는 웹 페이지를 불러올 때 자동으로 실행된다. 컴퓨터나 스마트폰 등에 포함된 대부분의 웹 브라우저에는 자바스크립트 인터프리터가 내장되어 있기 때문에 컴파일 없이 웹의 동작을 구현할 수 있다, 문제를 확인해보자. 호박을 10,000번 클릭하고 플래그를 획득하라고 한다. 문제 파일을 다운로드 해보자. click the pumpkin to make a jack-o-lantern! 10000 more clicks to go! html 파일이..
[dreamhack] Carve Party 문제풀이[WEB] Carve Party 문제풀이 자바스크립트(JavaScript)는 객체(object) 기반의 스크립트 언어이다. 자바스크립트로 작성한 프로그램은 스크립트(script)라고 부르며, 스크립트는 웹 페이지의 HTML 안에 작성할 수 있다. HTML 안에 작성된 스크립트는 웹 페이지를 불러올 때 자동으로 실행된다. 컴퓨터나 스마트폰 등에 포함된 대부분의 웹 브라우저에는 자바스크립트 인터프리터가 내장되어 있기 때문에 컴파일 없이 웹의 동작을 구현할 수 있다, 문제를 확인해보자. 호박을 10,000번 클릭하고 플래그를 획득하라고 한다. 문제 파일을 다운로드 해보자. click the pumpkin to make a jack-o-lantern! 10000 more clicks to go! html 파일이..
2021.06.08 -
문제 페이지에 들어가니, 3개의 파라미터로 로그인을 하는 페이지가 나왔다. Input의 Value가 지정되어 있어서 값들이 채워져 있다. 디폴트 값을 확인해보니, type이 Password라서 안보였던 값이 볼 수 있었다. 디폴트 값인 No = 1, Id = guest, Pw = guest로 로그인을 시도하니, Get 메소드로 파라미터가 전달되고 ‘Success - guest’가 출력된 후 로그인 페이지로 리다이렉트되었다. 나는 순서상 No이 가장 먼저 있어서 쿼리문에 들어가는 것도 No가 먼저 들어갈 거라는 추측으로 다양한 시도를 해봤다. 그 중 하나로 no의 값을 1말고 다른 숫자를 넣어봤지만, Failure이 출력되었다. 많은 숫자들 중에서 오직 0만 아무 출력도 되지 않고 그대로 리다이렉트를 하였..
[Webhacking.kr] Old - 40 Write Up문제 페이지에 들어가니, 3개의 파라미터로 로그인을 하는 페이지가 나왔다. Input의 Value가 지정되어 있어서 값들이 채워져 있다. 디폴트 값을 확인해보니, type이 Password라서 안보였던 값이 볼 수 있었다. 디폴트 값인 No = 1, Id = guest, Pw = guest로 로그인을 시도하니, Get 메소드로 파라미터가 전달되고 ‘Success - guest’가 출력된 후 로그인 페이지로 리다이렉트되었다. 나는 순서상 No이 가장 먼저 있어서 쿼리문에 들어가는 것도 No가 먼저 들어갈 거라는 추측으로 다양한 시도를 해봤다. 그 중 하나로 no의 값을 1말고 다른 숫자를 넣어봤지만, Failure이 출력되었다. 많은 숫자들 중에서 오직 0만 아무 출력도 되지 않고 그대로 리다이렉트를 하였..
2021.06.08 -
- Start - view-source - VALUE1, VALUE2를 입력하여 두 값의 MD5 해시값이 같으면 문제 해결. - 이 때, VALUE1의 값은 알파벳, VALUE2의 값은 숫자이어야 한다. - 이 문제의 해결을 위해서는 '매직해시(Magic Hashes)'에 대해 알아야한다. - 매직해시란 php의 비교연산자에서 발생하는 취약점이다. - php에서 느슨한비교연산자(==, !=)는 변수의 자료형을 비교하지 않는 취약점을 가지고 있다. - 변수의 값을 확인하여 자동으로 자료형을 변경하는데, 예를 들어 정수와 문자를 비교할 때 문자를 수로 변환한다. - 이를 이용하여 비교문에서 자료형을 float로 변환하게 하는 'e' 지수표기법을 이용하는 것이 매직해시이다. - 'e' 는 지수를 표현하는 방법..
Wargame.kr - md5_compare- Start - view-source - VALUE1, VALUE2를 입력하여 두 값의 MD5 해시값이 같으면 문제 해결. - 이 때, VALUE1의 값은 알파벳, VALUE2의 값은 숫자이어야 한다. - 이 문제의 해결을 위해서는 '매직해시(Magic Hashes)'에 대해 알아야한다. - 매직해시란 php의 비교연산자에서 발생하는 취약점이다. - php에서 느슨한비교연산자(==, !=)는 변수의 자료형을 비교하지 않는 취약점을 가지고 있다. - 변수의 값을 확인하여 자동으로 자료형을 변경하는데, 예를 들어 정수와 문자를 비교할 때 문자를 수로 변환한다. - 이를 이용하여 비교문에서 자료형을 float로 변환하게 하는 'e' 지수표기법을 이용하는 것이 매직해시이다. - 'e' 는 지수를 표현하는 방법..
2021.06.08 -
파일 업로드 페이지가 나왔다. Flag가 안 나올 것을 알지만, flag.php 파일을 클릭하여 출력해봤다. 새 하얗다… 아무것도 출력이 안됐다. 아마도 PHP 코드 안에 flag가 있는데 PHP가 실행되어서 아무것도 나오지 않는 듯 하다.. “그렇다면, 웹쉘을 업로드하면 웹쉘이 작동될까?”라는 생각을 하고 웹쉘을 업로드하였다. PHP가 실행되지 않고, 읽기 모드로 브라우저에 출력되었다. flag.php는 실행되면서, 내가 올린 파일은 실행도 안된다는 것에 한탄을 하면서 flag.php의 php 비활성화 방법을 찾아봤다. 1시간이 넘는 시간 동안 인터넷에 검색과 내가 알고있는 방법을 동원해도 통하지 않아서, 결국 다른 사람의 풀이 참고하였다. 다른 사람들은 .htaccess를 통해 간단하게 php 비활성..
[Webhacking.kr] Old - 28 Write Up파일 업로드 페이지가 나왔다. Flag가 안 나올 것을 알지만, flag.php 파일을 클릭하여 출력해봤다. 새 하얗다… 아무것도 출력이 안됐다. 아마도 PHP 코드 안에 flag가 있는데 PHP가 실행되어서 아무것도 나오지 않는 듯 하다.. “그렇다면, 웹쉘을 업로드하면 웹쉘이 작동될까?”라는 생각을 하고 웹쉘을 업로드하였다. PHP가 실행되지 않고, 읽기 모드로 브라우저에 출력되었다. flag.php는 실행되면서, 내가 올린 파일은 실행도 안된다는 것에 한탄을 하면서 flag.php의 php 비활성화 방법을 찾아봤다. 1시간이 넘는 시간 동안 인터넷에 검색과 내가 알고있는 방법을 동원해도 통하지 않아서, 결국 다른 사람의 풀이 참고하였다. 다른 사람들은 .htaccess를 통해 간단하게 php 비활성..
2021.06.07 -
Admin으로 로그인하는게 이번 문제의 미션이다. 혹시 guest 계정도 있을 것을 같아서 guest/guest로 로그인 시도하니, Login Fail이 출력되었다. admin/admin으로 로그인을 시도하니, 이번 역시 Login Fail이 출력되었다. 이번엔 SQLi를 시도하니, 패스워드가 틀렸다고 출력되었다. False를 삽입하면 어떻게 되는지 궁금하여, admin' and 1=0#를 넣어서 시도하였다. True의 값과 다른 출력을 볼 수 있었다. 이것을 이용하여 Blind SQLi를 시도할 수 있을 것 같다. 로그인이 성공하면 어떤 결과가 나오는지 궁금하여, Join 페이지에 들어가서 lrtk/lrtk으로 계정을 만들었다. 로그인을 해보니, 패스워드의 해시값이 출력됐다. 해당 해시의 길이가 32 ..
[Webhacking.kr] Old - 22 Write UpAdmin으로 로그인하는게 이번 문제의 미션이다. 혹시 guest 계정도 있을 것을 같아서 guest/guest로 로그인 시도하니, Login Fail이 출력되었다. admin/admin으로 로그인을 시도하니, 이번 역시 Login Fail이 출력되었다. 이번엔 SQLi를 시도하니, 패스워드가 틀렸다고 출력되었다. False를 삽입하면 어떻게 되는지 궁금하여, admin' and 1=0#를 넣어서 시도하였다. True의 값과 다른 출력을 볼 수 있었다. 이것을 이용하여 Blind SQLi를 시도할 수 있을 것 같다. 로그인이 성공하면 어떤 결과가 나오는지 궁금하여, Join 페이지에 들어가서 lrtk/lrtk으로 계정을 만들었다. 로그인을 해보니, 패스워드의 해시값이 출력됐다. 해당 해시의 길이가 32 ..
2021.06.07 -
해당 월을 입력하면 해당 월에 대한 cal이 출력됨 unix cal 명령의 출력을 반환하는 스크립트란 문장을 통해, unix 내용 출력 명령어(cat, ls...)들을 이용해야 겠다는 생각이 듬 음... 애초에 처음 생각했던건 연도 기입 후 전망 버튼을 클릭 시 결과값이 안나오면, unix 명령어를 통해 os 인젝션이나 sql 인젝션을 이용해서 결과값을 찾아야 겠다 생각했는데, 위 그림처럼 연도가 잘 나온다... 우선 os 인젝션 먹는 기호들이 있나 확인하기 위해 있는건 다 시도해봄(||, ;, &&, &(), >>, &>, {}, ?, *) 위 기호중 ||, ;, &&이 적용되는지 확인함 해당 기호와 입력 값 연결해서 조회해봄(여러가지 구문 조합해본 결과 해당 페이지들 발견함) 보이는 페이지들에 다 접..
(HackThisSite) Basic missions - Level 7해당 월을 입력하면 해당 월에 대한 cal이 출력됨 unix cal 명령의 출력을 반환하는 스크립트란 문장을 통해, unix 내용 출력 명령어(cat, ls...)들을 이용해야 겠다는 생각이 듬 음... 애초에 처음 생각했던건 연도 기입 후 전망 버튼을 클릭 시 결과값이 안나오면, unix 명령어를 통해 os 인젝션이나 sql 인젝션을 이용해서 결과값을 찾아야 겠다 생각했는데, 위 그림처럼 연도가 잘 나온다... 우선 os 인젝션 먹는 기호들이 있나 확인하기 위해 있는건 다 시도해봄(||, ;, &&, &(), >>, &>, {}, ?, *) 위 기호중 ||, ;, &&이 적용되는지 확인함 해당 기호와 입력 값 연결해서 조회해봄(여러가지 구문 조합해본 결과 해당 페이지들 발견함) 보이는 페이지들에 다 접..
2021.06.07