'AJAX Security'에 해당되는 글 1건
- 2015.05.13 [11] XSS, webgoat, DOM XSS, AJAX Security
- 2015.03.23
임시 강사 수업
1. XSS
1) 간단 Paros 기능
Paros - Tools - Filter
Replace HTTP response body using defined pattern 클릭
... - Pattern : 김정은, Replace with : 돼지새끼
* Cross Site Scripting (XSS) : 게시글 등에 악성코드를 심어 클릭 시 클라이언트에게 피해를 주는 것
2) webgoat googlecode
webgoat googlecode 검색하여 webgoat zip 파일 다운로드
압축 풀고 webgoat 실행 후 웹페이지에 localhost/WebGoat/attack 실행
guest/geust 로 로그인 - Start WebGoat : 여러가지 공격 기법 실습 가능
http://testphp.vulnweb.com/
search art - <script>alert("test")</script> 해보면 알람 창이 뜬다.
3) XSS
[ ...WebGoat-5.4tomcatwebappsROOTxss.jsp ]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>XXXXXX</title>
</head>
<body>
<%@page import="java.lang.*"%>
<%@page import="java.util.*"%>
<%@page import="java.io.*"%>
<%@page import="java.net.*"%>
<%
String name=request.getParameter("name");
%>
username : <%=name%>
</body>
</html>
이제 웹에서 아래 주소 입력
http://localhost/xss.jsp?name=<script>alert("test")</script>
=> 경고창이 뜬다. 만약 이상한 페이지가 나오면 확장자 확인 필요
4) DOM XSS
[ xss1.jsp ]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>XXXXXX</title>
</head>
<body>
DOM XSS Testing....
<SCRIPT>
var position=document.URL.indexOF("age=")+4;
document.write(document.URL.substring(position.ducument.URL.length));
</SCRIPT>
</body>
</html>
http://localhost/xss1.jsp?age=21
이것으로 age의 값이 출력 된다면
http://localhost/xss1.jsp?age=<script>alert("teset")</script>
도 될 것이다.
5) AJAX Security
http://localhost/WebGoat/attack 들어가서 AJAX Security -> LAB: DOM-Based... 이동
( http://localhost/WebGoat/attack?Screen=49&menu=400 )
폼에 글씨를 쓰면 위에 자동으로 입력된다. 이것을 이용
소스보기 : 435 라인 복사
<a href="attack?Screen=7&menu=1900">Web Service SAX Injection</a>
이 소스를 방금의 폼에 입력하면 위쪽에 링크가 뜬다. 해당 링크를 누르면 해당 페이지로 이동.
* OWASP 에 보면 유행하는 웹의 취약점을 알 수 있다.
다시 아까의 http://localhost/WebGoat/attack 들어가서 AJAX Security -> LAB: DOM-Based...
여기 소스코드 중 581번줄
... Enter your name: <input value='' onKeyUp='displayGreeting(person.value)' name='person' type='TEXT'> ...
입력받은 값을 person으로 해서 displayGreeting 한다는 뜻이다.
DOMXSS.js 에 displayGreeting 이라는 함수의 구조가 있다.
( http://localhost/WebGoat/javascript/DOMXSS.js )
'Study > 웹보안' 카테고리의 다른 글
[10] Paros, Proxy, url 파라미터 변조 (0) | 2015.05.13 |
---|---|
[09] php 게시판 생성, 비정상적으로 게시글 입력, 게시판 출력 (0) | 2015.05.07 |
[08] cookie 및 session 이용한 인증, SQL Injection, secure 코딩 (0) | 2015.05.07 |
[07] php 셋팅, mysql 연동, 계정 인증, Web 인증방식, cookie 이용 인증 및 logout (0) | 2015.05.07 |
[06] php 및 mysql 설치, 인증, SQL, get & post, http 헤더 (0) | 2015.05.07 |