일부 기능에 대한 설명 입니다. 응용할 수 있는 부분은 굉장히 많겠죠!
1. 취약성
웹 프록시 도구는 최근 해킹 공격에 가장 활발히 사용되고 있는 도구로 클라이언트가 요청한 HTTP Resquest, Response 정보를 중간에서 도구를 통해 가로채 필터링을 우회하거나 서버에 전송되는 데이터를 조작해 허가 되지 않는 곳에 정보를 움쳐보거나 쓰기 등이 가능합니다
2. 피해 형태
허가 되지 않는 곳에 정보를 움쳐보거나 쓰기 등에서 그치지 않고 권한을 상승 시켜 최고 권한으
로 웹 사이트의 전 권한을 획득 할 수 있습니다
3. 점검 방법
가. 권한이 없는 게시판 글쓰기
l 게시판에는 공지사항, 자유게시판 등 여러가지가 존재하지만 각기 기능에 따라 권한이 분류되어 일반 사용자는 공지사항 게시판에서 내용은 확인이 가능하지만 글쓰기는 못하게 되어 있습니다.
l 대부분 권한이 없는 게시판에 사용자가 글을 쓰려면 권한 확인 후 일반 사용자에게는 글을 작성할 수 없도록 인터페이스를 제공하지 않는 게 일반적인 방식 입니다.
l 하지만 공격자는 권한이 있는 일반 자유게시판에 글 작성을 하고 나서 전송되는 HTTP Request를 프록시로 가로채 미리 알아낸 공지사항 게시판의 URL로 변경하여 글을 등록 할 수 있습니다
나. 권한이 없는 게시판 글 읽기, 수정
l 개발자의 실수로 게시판의 권한 거사를 Get메소드에 넘어오는 인자(ex, idx, u_id)등을 통해 권한을 체크하는 경우가 있습니다 이러한 경우는 인자 값을 조작하여 권한이 없는 게시판의 글을 읽을 수 있는지 점검을 해야 합니다
다. 기타
l 몇몇 잘못 설계된 홈페이지들은 아이디, 패스워드 길이 제한이나 잘못된 주민번호 검사 하는 코드를 클라이언트 측의 자바스크립트로 검사하는 경우가 많습니다
l 이러한 경우 Proxy 도구를 통해 클라이언트 측으로 전송되는 코드를 수정하거나 또는 웹서버로 전송 되는 데이터 중에서 관련 내용을 조작할 수 있게 됩니다
l 아이디, 패스워드 길이 제한 우회
- 아래와 그림과 같이 웹서버에서 클라이언트 측으로 전송되는 응답을 가로 채서 관련 스크립트를 제거해서 우회할 수 있습니다
l 잘못된 주민번호 입력
- 다음은 회원가입 페이지에서 완료를 통해 웹 서버에 POST로 전송되는 데이터를 중간에 가로채 주민등록번호를 변조하는 그림입니다.
4. 조치 방법
l 중간에 가로채어진 정보를 통해 인자 와 인자값을 조작하게 되는데, 유추하기 어려운 인자와 인자값을 사용해야 하며 중요 정보는 Post 전송 방식을 암호화하여 전송하는 방법을 사용하여야 합니다.
필터링을 우회는 클라이언트 사이드 언어(JS, VB)를 이용하여 제한을 하기 때문에 클라언트측에서 얼마든지 조작이 가능합니다 이런 필터링 방법은 서버사이드 언어를 통해서 서버측에서 필터링이 구현되어야 합니다
'시스템/웹/포렌식 보안 > 웹 해킹/보안' 카테고리의 다른 글
취약점 위험평가 Framework (0) | 2013.10.08 |
---|---|
악성코드 삽입 인지 및 삭제 가이드 라인 (0) | 2013.10.08 |
Apache 보안 설정 (0) | 2013.09.13 |
Blind SQL Injection (0) | 2013.07.18 |
Beyond SQLi: Obfuscate and Bypass 번역문서 (0) | 2013.07.17 |