보안 공부 3

클라이언트 사이드 베이직 01

:: intro 1. 웹 서버는 사용자를 식별하기 위해 보편적으로 쿠키와 세션을 사용한다. 공격 포인트: 사용자의 쿠키나 세션에 저장된 세션 아이디를 탈취해 사용자 권한을 얻거나 사용자의 브라우저에서 자바스크립트를 실행하는 등의 공격 행위를 한다. (사용자가 보낸 것처럼) 취약점 발생 이유: 웹 브라우저는 Stateful한 상태를 유지하기 위해 모든 HTTP 요청에 쿠키를 함께 보낸다. ::SOP 1. 웹 브라우저를 통해 대상 호스트에 요청 시 사용자의 정보(쿠키, 세션아이디 등)를 포함하고 있다. 공격 포인트: 외부 리소스를 불러오는 엘리먼트를 자바스크립트로 관리할 수 있다면 사용자의 동의 없이 해당 내용을 읽거나 변조할 수 있다. (iframe, img, video) 2. 웹 브라우저가 위와 같은 공..

Hack This Site basic 1 문제풀이

"이 레벨은 우리가 "바보 테스트"라고 부르는 것입니다. 만약 여러분이 그것을 완성할 수 없다면, 여러분이 할 수 있는 모든 것을 배우는 것을 포기하지 마세요. 하지만, 여러분이 싫어하거나 놀리도록 하기 위한 한가지 방법인, 다른 누군가에게 대답을 구걸하지 마세요. 암호를 입력하면 계속할 수 있습니다." 라는 내용의 문제다. 음.. 경험상 웹해킹 사이트 문제들의 첫번째 문제들은 대부분 HTML을 읽을 줄 아느냐 수준의 문제이기 때문에 난이도가 그리 어렵지는 않다. F12를 눌러 개발자 모드로 HTML 코드를 살펴보면 다음과 같은 창이 열린다.여기서 Ctrl키+Shift키+C 키를 누르면 각 부분들의 소스코드를 볼 수 있는데 여기서 password입력 칸에 가져다 대면 다음과 같은 소스코드가 보인다. 자세..

webhacking,kr 6번

webhacking,kr 6번 https://webhacking.kr/challenge/web-06/ 6번 문제는 id와 pw가 음.... 아마 웹에서 기본 정보를 준것 같다. view-source를 클릭하여 소스 코드를 보면 아래처럼 되어있다. 소스코드가 무엇을 말하고자 하는가 살펴보면 음 쿠키의 아이디값이 admin, 비번이 nimda이면 되는 건데 encode decode를 20번 하라고 나와있다. (왜 쿠키값을 변경해야 하냐고 물어보면 값을 입력 받을 input 태그가 없기 때문이 아닐까 생각된다.) 즉 admin과 nimda 값을 bade64로 인코딩을 20번 한 후 해당 문자열을 치환해주면 될 것 같다.파이썬으로 풀어보면 이렇게 코딩하면 될 듯 하다.결과값은 아래처럼 나오는데 아우 지저분하다 ..