전체 글

전체 글

    [webhacking.kr] old-15

    ✏️ Check 문제 페이지에 접속하면 바로 "Access_Denied"라는 내용의 alert 창이 나타난다. 🔎 Analyze 혹시 내 계정 자체에 문제가 생긴 건가 싶어서 조금 검색을 해보니 이걸 해결하는게 문제였다..! alert()를 출력하는 코드는 JavaScript에 의해 실행되기 때문에 페이지의 JS를 무력화시키면 된다. Chrome의 설정에서자바스크립트를 사용하지 못하도록 설정할 수 있다. 문제 페이지에 재접속해보면 alert 창이 나타나지 않고, 소스코드도 정상적으로 확인할 수 있다. script 태그의 세 번째 줄의 `document.write(~)`를 console 창에서 실행시키면 [Get Flag] 로 넘어가는 하이퍼링크가 나타난다. 🔓 Exploit [Get Flag]를 클릭하면..

    [webhacking.kr] old-14

    ✏️ Check 일단 초기화면만 봤을 때는 입력칸과 check 버튼만 있다. 🔎 Analyze 소스코드를 확인해보자! ck() 함수를 살펴보면 ul 변수의 값이 빈 칸에 입력해야 하는 값이다. console 창으로 넘어가서 계산해보자! 🔓 Exploit 입력칸에 540을 입력해보면 해결된다!

    [webhacking.kr] old-10

    ✏️ Check 기본 초기화면에서는 확인할 수 없지만, 오른쪽으로 당겨보면 Goal 라인이 있는 것을 볼 수 있다. 아마 왼쪽의 O를 Goal 라인 밖으로 보내면 문제가 해결될 것 같다. 🔎 Analyze 개발자도구를 통해 확인해보면 O 라는 요소는 "hackme"라는 이름을 가진 것으로, HTML 코드 수정을 통해 해결할 수 있을 것 같다. 해당 부분의 코드는 아래와 같다. O 초기 위치는 가장 왼쪽으로(left: 0), 해당 요소를 클릭했을 때, left 위치 값을 +1 한 뒤, left 위치 값(왼쪽의 픽셀값)이 1600인 경우 ?go=1600을 자동으로 전달되도록 한다. 🔓 Exploit 이를 이용해 hackme의 style 중 left 값을 1599로 바꾼 후 클릭했더니 익스플로잇되었다!

    [webhacking.kr] old-07

    ✏️ Check 가장 첫 페이지는에서는 auth(인증)버튼과 소스코드 링크가 첨부되어 있다. 이 상태 그대로 auth 버튼을 클릭하면 "Access_Denied!"라는 메시지창이 나타난다.

    [webhacking.kr] old-05

    ✏️ Check 문제에서 제공하는 사이트에 접속하면 다음과 같이 Login 버튼과 Join 버튼이 있다. Login 버튼을 선택하면 말그대로 로그인을 할 수 있는 창이 나타난다. Join 버튼을 선택하면 Access_Denied 의 알림창이 나타난다. . . . . . . . 가장 첫 페이지의 소스코드는 위와 같다. Join 버튼을 눌렀을 때, join.php 등의 페이지로 넘어가는 것이 아니라 무조건 no()라는 함수가 호출되어 경고창만 출력되도록 되어 있다. 🔎 Analyze 📑 login.php 일단 접속할 수 있는 Login 페이지에서 분석을 시작했다. 아무 ID와 PW를 입력하면 Wrong password라는 문구와 함께 로그인이 되지 않는다. 여기서 주목해볼만한 부분은 URL이다. https:..

    [webhacking.kr] old-06

    ✏️ Check 문제에서 제공하는 페이지에 접속하면 ID와 PW가 출력되고 source code를 볼 수 있도록 링크가 첨부되어 있다. 내부적으로 decode_id와 decode_pw의 값이 'admin'과 'nimda'일 때 문제를 해결할 수 있다. 🔎 Analyze 📑 소스코드 분석 코드를 나눠서 분석해보자! if($_GET['view_source']) view_source(); if(!$_COOKIE['user']){ $val_id="guest"; $val_pw="123qwe"; for($i=0;$i

    [webhacking.kr] old-02

    🔎 Check & Analyze webhacking.kr의 old 2번 문제 문제에서 제공하는 페이지에 접속하면 위와 같은 페이지가 나타난다. 주석에는 현재 시간과 admin.php에 접속하면 ass를 kick 해버리겠다는 메시지를 확인할 수 있다. 🍪 time 쿠키 변조 쿠키를 확인해보면 time 값이 따로 있는 걸 볼 수 있다. 이 값을 변조해보자! 입력한 쿠키의 값이 반영되는 것을 확인할 수 있다. time 에 대한 값이 실제로 코드에 반영이 되는 반면, 0(거짓)으로 변조하는 경우에는 초기의 코드로 돌아가는 것을 확인할 수 있다. 만약 거짓에 대한 결과가 궁금하다면 SQL 문으로 거짓 값을 입력해줄 수 있다. 이로써 확실히 SQL 구문이 적용되는 것을 알 수 있다. ⬛ Blind SQL Injec..

    [pwnable.kr / Toddler's Bottle] fd

    ✏️ Check 문제에서 제공하는 ssh 로 접속하면 fd 문제 파일과 fd.c 소스코드 파일, 읽기 권한이 없는 flag 파일이 저장되어 있다. 🔎 Analyze if(argc