SQL Injection 취약점 사례 분석 #2 > security

본문 바로가기
사이트 내 전체검색

security

SQL Injection 취약점 사례 분석 #2

페이지 정보

작성자 서방님 댓글 0건 조회 130회 작성일 06-09-14 16:42

본문

SQL Injection 취약점 사례 분석 #2

작성자 : 이종량
편집자 : 홍순성

계속 위협성을 가지고 있는 부분으로 꼭 체크 필요성이 있습니다.

혹시 웹 로그를 한줄한줄 다 읽는 분 있는가? 그것도 웹서버의 기본 로그가 아닌 전체 웹로그를 남겨서 읽는 사람이 있는가? 아마도 이걸 다 하는 사람이라면 두가지 사람중에 한 명일 것이다. 첫번째 경우는 할일 없는 사람이거나, 막 배우기 시작하는 관리자. 이 두가지 종류의 사람 이외에는 볼 일이 없을 것이다. 하지만 웹로그를 풀로 남겨서 쭉 보다보면 의외로 많은 정보가 생긴다. 정상적인 사이트로 보이지만 실제로 로그상에서는 클라이언트측 오류(4xx)나 서버측 오류(5xx)를 생각보다 많이 볼 것이다. 혹시 이런 4xx나 5xx 로그 중에서 이상한 로그는 있지 않을까 하고 생각한 적은 얼마나 있는가? 특히나 5xx로그는 심각한 문제를 일으킬 수 있다. 예를 들어. 다음과 같은 로그를 본적이 있는가?

05_08_29_1.gif

위 로그는 그냥 보기가 힘들다. 그래서 특수 문자를 일반 문자로 바꾸면

05_08_29_2.gif

와 같이 변한다.

05_08_29_3.gif

글로 읽기만해도 복잡한 작업이다. 간단하게 순서를 정리하자면, SQL Injection 최약점 공격은

1. 웹서버의 구조 파악
2. 분석 대상 페이지 분류
3. SQL Injection 테스트
4. SQL 쿼리를 이용하여 시스템 장악 (스니퍼 및 캡춰를 위한 프로그램 설치)
5. 시스템 접근을 위한 백도어 설치 (사용자 추가 및 원격 관리 프로그램 설치)

와 같은 순서로 이루어진다. 이러한 공격은 별도의 개발된 간단한 스크립트를 통해 이루어지며, 이 모든 과정이 끝나는데 30분 정도 밖에는 소요되지 않는다. 이러한 부분이 현재는 중국을 기점으로 움직이고 있지만, 앞으로는 얼마나 더 많은 곳에서 발생될지 모른다. 자신의 사이트에 위의 문제점이 있는가를 테스트 해보고자 한다면 http://www.acunetix.com/wvs/ 에서 Acunetix Web Vulnerability Scanner 평가판을 받아 설치하여 검사를 한다.

Acunetix Web Vulnerability Scanner 사용 방법
  1. File-New Scan을 선택한다

    05_08_29_4.gif

  2. 새 창에서 Scan single website를 선택하고 URL 주소를 입력한다

    05_08_29_5.gif

  3. Technologies를 열고 웹사이트에서 사용하고 있는 웹서비스 기능을 추가한다

    05_08_29_6.gif

  4. 프로파일로 default를 선택하면 모든 검사를 진행하나 검사를 빠르게 하고 싶다면 Scanning profile에 SQL injection을 선택한다.

    05_08_29_7.gif

  5. 이제 Next버튼만 몇번 누르면 화면 하단에 위치한 Active Windows 창에 진행 상태가 나타난다
    05_08_29_8.gif

  6. 테스트가 끝나기를 기다리면 된다. 작은 사이트의 경우 보통 30분 정도가 소요되며 보통 1~2시간 정도가 소요된다.
    05_08_29_9.gif


SQL injection 탭을 열면 페이지가 나열되며, 해당 페이지는 모두 취약점이 있기에 공격의 대상이 될 수 있다는 내용이 나온다. 각 페이지의 내용을 세부적으로 보면 어떤 식으로 문제가 있어서 공격 대상으로 잡았는지가 나온다

05_08_29_10.gif

취약점이 발견된 .asp 페이지. tname에 ‘가 들어가 있을 때 오류를 발생시켰다

여기 페이지 화면 하단에 있는 Edit with HTTP editor 버튼을 사용하면 이 페이지에 대한 유형을 조금 더 다양하게 사용자가 입력해 볼 수 있도록 되어 있다. 이러한 취약점은 MS의 문제가 아닌 웹 사이트 개발상의 문제이므로 별도의 패치나 업데이트, 백신을 통해 처리할 수 없다. 따라서 문제 해결이 다른 부분보다 어려우며, 경우에 따라서는 해결이 불가능한 경우가 발생될 수도 있다. 이러한 부분의 해결점은 소스를 수정할 것인가? 아니면 막을 것인가? 라는 두 가지 방법 중에 하나를 택하게 되며, 소스의 수정이 가장 좋은 방법이나 이것이 여의치 않을 때에는 막는 방법을 취할 수 밖에 없어진다.

댓글목록

등록된 댓글이 없습니다.

Total 50건 4 페이지
security 목록
번호 제목 글쓴이 조회 날짜
열람중 서방님 131 09-14
4 서방님 147 09-14
3 서방님 102 09-14
2 서방님 123 09-14
1 서방님 125 09-13
게시물 검색

회원로그인

접속자집계

오늘
80
어제
84
최대
1,347
전체
154,451
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.