패킷분석이 항상 기초가 되기 때문에 앞에서도 언급한
wireshark나 burp suite은 실무에서 항상 켜져 있다고 보면된다.
HTML의 request method는 크게 get / post가 있는 데 이 둘의 차이점을
패킷 분석을 통해 알아보기로 한다.
0. SSS가 서버 측에서 넘어오는 구문임을 확인하기
Step 1. Server PC에서
c:Inetpub/webhack 폴더에 아래 test.asp 파일 작성 후 저장
<html>
<head>
<title> test page </title>
</head>
<body>
your input data = <% =Request.QueryString("param") %> # ASP 구문 (Server측 script)
<script>alert('alert');</script> # 알람 팝업 띄우기
</body>
</html>
Step2. Client PC에서 웹브라우저에서 주소 입력
http://192.168.1.20/test.asp?param=hack << 페이지 출력 확인 (URL에 param 바로 입력)
<< paros에서 확인하면 asp 부분은 server에서 값으로 넘겨주는 것을 볼 수 있음
body의 구문이 값으로 넘겨진다.
1. get / post method 차이
Step 1. Server PC에서
c:Inetpub/webhack 폴더에 아래 requesttest.html 파일 작성 후 저장
<html>
<head>
<title> get/post request test </title>
</head>
<body>
<form method='get', action='method_test.asp'> #form 테그 입력 받아오기 방식은 get / 입력 받은 후 동작
ID : <input type='text' name='user_id'><br>
PW : <input type='password' name='user_pw'><br>
<input type='submit' value='login'>
</form>
</body>
</html>
Client PC에서 웹브라우저에서 주소 입력
http://192.168.1.20/requesttest.html << 페이지 출력 확인
Step2. form tag의 action page 만들기
id / passwd 입력하고 제출하면 오류 페이지 출력 아직 'method_test.asp'를 만들지 않았기 때문
<%
id = request("user_id")
pw = request("user_pw")
%>
입력한 ID와 PW
<%
response.write(id)
response.write(" / ")
response.write(pw)
%>
위와 같이 'method_test.asp' 만들고 저장하여 페이지 정상 출력을 확인한다.
Step 3. requesttest.html 파일에서 form method를 get에서 post로 바꾼 후 패킷에서의 차이점을 확인한다.
get의 경우 url부분에 넘겨준 파라미터가 노출된다.
http://192.168.10.20/method_test.asp?user_id=asd&user_pw=asd
post의 경우는 url 부분에 파라미터가 노출되지 않고 패킷의 body에 정보를 넘겨준다.
get방식의 이점은 메세지의 body 부분을 사용하지 않기 때문에 공간/속도면에서 유리하다.
단점은 민감하고 중요한 데이터를 넘기는 경우 url에 정보가 노출된다.
url에 입력 할 수 있는 데이터 양의 한계가 있다.
검색 엔진에서 검색어 같은 경우 get으로 가져옴.
로그인 같은 경우 post method를 쓰지만 body에 파라미터가 노출되는 것은 마찬가지다.
HTTP는 암호화를 지원하지 않고 평문 형태의 데이터를 전달한다.
따라서 SSL을 적용해 HTTPS로 암호화 통신을 적용한다.
'Web Hacking' 카테고리의 다른 글
5. Web Authentication(웹 인증) (1) | 2022.06.15 |
---|---|
4. Encoding Schema (1) | 2022.06.15 |
2. Burp Suite / Paros 을 이용한 패킷 위변조 (0) | 2022.06.11 |
1. 웹의 구조 및 HTTP (2) | 2022.06.11 |
0. 웹 해킹 가상화 실습 환경 구성 (2) | 2022.06.11 |
댓글