Creative Commons License

Microsoft .NET

닷넷!시작하기
닷넷! Ver 2.0~
닷넷!스킬업
웹개발
윈폼개발
실용모듈개발
Tip & Tech
하루 한 문법

Microsoft .NET 개발자들을 위한 공간입니다. 기초강의에서 부터 고급 기술 정보 및 팁등을 다루도록 하겠습니다.

.

웹개발

이제 웹 기반 응용개발 지식은 거의 필수적으로 요구되는 시대입니다. 구체적인 웹 사이트 개발은 아니더라도 거시적인 웹 기반 서비스에 대한 지식 배양을 위해 할 것이 참 많네요 ^^

[웹 보안 시리즈] 5 데이터 변조 - 히든 필드 변조

작성자 : 박종명
최초 작성일 : 2008-06-25 (수요일)
최종 수정일 : 2008-06-25 (수요일)
조회 수 : 8837

앞에서 우리는 데이터 변조 중 세션ID 변조를 통한 불법 로그인에 대해 알아 보았습니다.

이번에는 같은 개념의 변조 방법 중 히든 필드의 변조 알아 봅니다.

 

히든 필드 역시 HTTP 의 무 상태 환경에서의 클라이언트 식별을 위해 자주 사용되는 방법 입니다.

Hidden 필드는 말 그대로 사용자에게는 보여 지지 않지만 서버와 클라이언트간에 데이터를 교환에 사용되는 일종의 이름/값 쌍을 가지는 데이터 필드 입니다

 

아래와 같은 형식으로 많이 사용하지요.

<input type=”hidden” name=”변수명” value=”데이터”>

 

이 히든 필드는 실제로 아직까지 유용한 정보 교환 방법으로 사용되어 지고 있습니다.

대체로 아래와 같은 방법으로 사용 됩니다.

1. 게시판 같은 곳에서 특정 글의 고유번호를 저장하여 수정 및 삭제 시 이용한다

2. 쇼핑몰 같은 곳에서 가격정보로 이용한다.

3. 게임사이트 같은 곳에서 포인트 정보로 이용한다.

이외에도 많은 부분 히든 필드를 사용 할 것으로 보여 집니다.

 

 

히든 필드 변조 시도 방법.

1. 쇼핑몰 사이트에서 특정 상품의 구매 과정에서 가격정보와 같은 것의 흐름을 파악한다.

2. 가격정보가 히든필드로 넘기는 것을 웹 프록시 툴로 확인한다.

3. 정상적인 가격을 아주 저가로 변조하여 구매를 완료 한다.

 

지금부터 간단한 데모 화면을 통해 위 과정을 살펴 봅니다.

 

데모를 위해 간단하게 쇼핑몰 구매 프로그램을 아래와 같이 작성 합니다.

1 Product.asp

<form method="post" action="Order.asp">

 <input type=hidden name="Price" value="500000">

 <table border=1 width=300>

  <tr>

    <td>상품명 </td>

    <td><b>트럼 세탁기</b></td>

  </tr>

  <tr>

    <td>가 격</td>

    <td>500,000</td>   

  </tt>

  <tr>

    <td>상품 설명</td>

    <td><br><br><br><br></td>

  </tr>

 <tr align=center>

    <td colspan=2><input type=submit value="구매".</td>   

  </tr>

 </table>

</form>

2. Order.asp

<%

  Price = Request("Price") 

  response.write("구매가격은 <font color=red>" & Price & "</font> 원 입니다")

%>

 

정상적인 시나리오 라면 아래와 같은 시퀀스로 구매과정이 일어 날 것입니다.

 

1. 상품 상세 정보

 

 

 

2. 구매 과정 중 가격

 

   

그러나 위 1 2의 과정에서 프록시 툴을 이용해 아래와 같이 가격을 변경합니다.

 

그러면 위 2의 과정은 아래와 같이 될 것입니다

 

 

   

결국 500000 원 짜리 세탁기가 1원에 판매 되는 결과를 초래 하게 되었군요..

 

물론 현재에는 이렇게 중요한 정보를 단순히 히든 필드로 값을 주고 받지는 않을 것이라 예상됩니다.

그러나 예전에는 아주 많은 부분의 값들이 이 히든 필드를 통해 전달 되었으며 실제로 아직까지도 그 쓰임새가 다양하고도 많이 있는 것으로 알고 있습니다.

 

 

히든 필드 변조는 아래와 같은 사항들을 점검 하세요..

1. 가격과 같이 중요한 정보는 히든 필드로 값을 판단해서는 안된다.

   최종 구매가 일어나는 시점에 다시 서버에서 가격정보를 가져 오도록 프로그래밍 한다.

2. 히든필드의 내용을 암호화 하여 전달한다.

이름
비밀번호
홈페이지
UB <- 왼쪽의 문자를 오른쪽 박스에 똑같이 입력해 주세요