Web/webhacking.kr 3

[Webhacking] Challenges 3. form post, sql injection

우선 즐겁게 네모네모 로직을 해준다. 이후에 gogo 버튼을 누르면 아래와 같은 화면으로 넘어가고 F12를 통해 소스를 확인해보면 입력된 데이터를 서버로 전송하는 form이 post 방식으로 전달되는 것을 확인할 수 있었다. input 태그 속성인 hidden을 지우면 아래처럼 name 앞부분에 value 값이 뜨는 것을 볼 수 있고 이 값을 1로 변경해 전송하면 다음과 같다. 그리고 와이어샤크를 통해 패킷을 확인해본 결과 answer=1&id=a 형식으로 데이터가 body에 넣어 전달되는 것을 확인할 수 있었다. 여기에 sql injection을 시도해보자. or '1'='1' 해도, or 1=1 해도, or 1(True) 해도 아래와 같은 메시지가 떴고, || 1=1 해도 똑같은 메시지가 뜨는 걸 보..

Web/webhacking.kr 2018.12.25

[Webhacking] Challenges 1. Cookie value

소스를 보니 index.phps 글자를 클릭하면 index.phps 페이지로 이동한다고 한다. PHP 코드를 보기 전에 Cookie에 대해 간단하게 알아보자. 쿠키는 사용자가 웹사이트를 방문할 때 그 사이트의 서버를 통해 사용자의 컴퓨터에 작은 파일로 저장되는 정보를 의미하고 이 기록 파일에 담긴 정보는 사용자가 같은 웹사이트를 방문할 때마다 읽힌다. 또한 수시로 새로운 정보로 바뀌며 쿠키를 훔쳐서 해당 사용자의 웹 계정 접근권한을 획득할 수도 있다. 쿠키값을 수정하거나 읽어올 때 $_COOKIE['쿠키명']을 사용할 수 있고, PHP에서 SetCookie() 함수를 이용하여 쿠키를 생성할 수 있다. 따라서 if(!$_COOKIE[user_lv])은 만약 user_lv의 쿠키값이 없다면 SetCookie..

Web/webhacking.kr 2018.11.24

[Webhacking] 회원가입, base64 decode

webhacking 사이트를 들어가보면 로그인은 할 수 있지만 회원가입은 할 수 없는 것을 볼 수 있었다. 소스 보기를 통해 코드를 살펴보니 Register 버튼이 주석처리 되어 있어서 F12를 통해 주석을 제거해주니 아래 사진처럼 회원가입 버튼이 생기는 것을 볼 수 있었다. 회원가입 버튼을 누르고 ID와 PW, EMAIL을 입력하고 Submit을 눌러도 가입이 되지 않았는데 decode me 안에 들어 있는 문자열 맨 뒤에 ==가 있는 것으로 보아 base64 인코딩되어 있는 듯 했다. 계속 디코딩 해주면 외부 아이피가 나오는 것을 볼 수 있고 이 숫자를 decode me 부분에 적어주면 회원가입이 완료된다. 그래도 다음으로 넘어가지 않는다면 비밀번호를 길게 입력해줄 것! 저는 base64 decode..

Web/webhacking.kr 2018.11.24