본 글의 목적은 제가 공부한 내용을 바탕으로 정리하면서 저와 같이 공부하시는 분 들을 위함입니다. 때문에 부족한 부분이 있을 수 있고, 잘못된 부분이 있을 수 있습니다. 만약 있을 경우, 생각을 고칠 수 있도록 저에게 알려주시면 정말 감사하겠습니다 !! Servlet Mapping ?서블릿 매핑이란 서블릿의 URL주소를 보다 쉽고 간결하게 표시하기 위해 다른 이름(?)을 붙여주는 것입니다. full path : http://localhost:8090/FirstTest/.../com.test.bnzn.HelloServlet이 URL을 보면 http:// 는 http 프로토콜을 나타내고, localhost는 서버의 주소, :8090은 포트번호 입니다. 그 다음 FirstTest가 루트 컨텍스트로 저번 시간에..
전에 간단하게 JSP와 Servlet을 이용해 웹 페이지를 만들어 봤는데요, 만들면서 간단하게 둘의 차이점을 느끼게 됐습니다.하지만 왜 비슷한 방식의 웹 페이지를 만드는 언어가 공존하며 같이 사용되는지, 구체적인 차이점은 무엇인지에 대해 궁금증을 느끼게 됬습니다. 여러 글들을 찾아 보았는데요, 나름대로 정리를 해보겠습니다.(참고한 문서 : http://uroa.tistory.com/68 https://gmlwjd9405.github.io/2018/11/04/servlet-vs-jsp.html )JSP와 Servlet 둘 다 java를 사용 ! JSP와 Servlet은 기본적으로 java 프로그래밍 언어를 base로 둡니다. html과 java를 합쳐 쓰기 때문에(css, 간단한 javascript 등도 ..
Servlet ?Java를 이용해 웹 페이지를 만드는 동적인 언어로 Java파일 안에서 Java의 class 등을 이용해 작성합니다. 실제로 간단한 예제를 작성해 보면서 특징들을 알아보겠습니다.프로젝트를 만드는 과정은 앞서 해봤던 JSP와 동일하기 때문에 넘어가겠습니다. (참조 : JSP 개요)프로젝트가 생성됬으면 src폴더에 Servlet파일을 생성해 줍니다. package 이름은 관행적으로 x.x.x로 만들어 줍니다. 이는 나중에 이름 충돌을 피하기 위함인데요, com.test는 회사의 도메인 이름이고 bnzn은 팀이름이 보통 오게 됩니다. 그리고 class name은 첫 문자를 대문자로 써줍니다. (어디까지나 일.반.적. 입니다 사실 개발자 마음입니다.) 그러면 왼쪽에 보이는 바와 같이 com.te..
JSP ?Java Server Pages로 HTML에 Java문법을 이용하여 웹 페이지를 제작할 수 있는 프로그래밍 언어입니다. 저번 시간에 설치했던 eclipse를 이용해 간단한 JSP를 작성해 보도록 하겠습니다. 마우스 오른쪽 클릭을 눌러 Dynamic Web Project를 만들어 줍시다. 프로젝트 이름을 작성하고 Next를 쭉 눌러줍니다.Context root는 서버의 주소를 입력했을 시에 각 프로그램의 첫 진입을 할 디렉토리 입니다. 처음에는 그냥 만든 프로젝트 이름을 써줍시다.빨간색 부분을 체크해주고 Finish를 눌러줍니다. 이는 웹 프로그래밍 환경설정을 해주는 web.xml 파일을 만들어 줍니다. (이 부분은 다음 번에 더 자세히 설명하도록 하겠습니다)그러면 보시는 바와 같이 프로젝트가 생..
Web ?인터넷이 등장하고 30년 후인 1990년, 스위스에서 개발된 프로그램이 프로그램은 그 전부터 개발되고 있었는데 해당 연구소에 인터넷이 보급되면서 완성되었습니다. 이 웹이 완성되면서 인터넷이 가지고 있던 (잠재 되어있던?) 무한한 기능들을 발휘할 수 있게 되었습니다.예를 들어 인터넷은 특정 집단들 사이에서만 네트워크를 구성하여 정보를 공유하였는데, 웹이 개발되면서 일반 대중들에게 까지 퍼져 나가게 됩니다.WWW = World Wide Web 말 그대로 세계에 펼쳐 있는 망의 역할을 하게 됩니다. 초기의 원시 웹은 아주 간단했는데, 오직 html로만 작성되어 있었습니다. (http://info.cern.ch 웹의 시작) 이 웹의 개발자는 웹 페이지의 소스코드를 모든 이용자들이 볼 수 있게 설정해 놨..
일단 입력할 수 있는 칸이 있고, 입력한 문자열을 제출버튼을 눌러 서버에 전달하는 형식인 것 같습니다. 아래에 보면 Your mission is to inject 이라는 문장이 있는데 script문을 실행시키는 것이 이 문제의 의도로 보여집니다. javascript문은 태그를 이용해서 html문서에 직접 작성해 동작시킬 수 있습니다. 그래서 일단 저 script문을 그대로 넣어봤습니다. No hack 이라는 문구가 나옵니다. 위에 URL을 보면 ?code=alert%281%29%3B 를 통해 일단 code라는 변수에 GET방식으로 작성한 문자열이 전달되는 것을 알 수가 있습니다. 여기서 no hack이 나온 이유를 저번에 푼 18번 문제와 같이 문자나 문자열이 필터링되어 있지 않을까 라는 추측을 해봤습니..
( 저번주에 sql 인젝션을 막 공부하고 풀었던 write up 입니다. sql 인젝션에 대한 포스트는 좀 더 정리하고 올리겠습니다 ) 먼저 18번을 클릭하면 이 문제는 SQL INJECTION이라고 알려주고 있습니다. 아래 보면 index.phps가 있는데, 이렇게 소스코드를 보여줍니다. 우선 소스코들르 살펴보면 GET방식으로 우리가 입력한 값을 변수에 담는 형식이고, 그 변수가 SQL쿼리문 안에 들어가 있네요. 간단하게 mysql_fetch_array가 가져온 배열의 [0]번째 즉, 첫 번째 값이 guest면 hi guest가 출력되고 admin이면 문제가 풀리게 되어있습니다.웹 해킹 문제를 처음 풀어보는거라 어떤식으로 접근해야 할지 잘 감이 안왔습니다. 그래서 일단쿼리문을 자세히 봤는데, 컬럼명이 ..
Ø XSS(Cross-site Scripting) ü 개요 SQL injection과 함께 웹 상에서 가장 기초적인 취약점 공격 방법의 일종으로, 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법을 말합니다. 공격에 성공하면 사이트에 접속한 사용자는 삽입된 코드를 실행하게 되며, 보통 의도치 않은 행동을 수행시키거나 쿠키나 세션 토큰 등의 민감한 정보를 탈취합니다 즉, XSS 공격은 브라우저로 전달되는 데이터에 악성 스크립트가 포함되어 개인의 브라우저에서 실행되면서 해킹을 하는 것이며, 이 공격용 악성 스크립트는 공격자가 웹 서버에 구현된 웹 애플리케이션의 XSS 취약점을 이용하여 서버 측 또는 URL에 미리 삽입을 해 놓은 것입니다. XSS는 OWASP Top 10 – 2013에서 A3, -2..
- Total
- Today
- Yesterday
- Do it! 정직하게 코딩하며 배우는 딥러닝 입문
- 파이썬 for Beginner 솔루션
- git merge
- 스프링
- 운영체제 반효경
- 쉘 코드
- 지옥에서 온 git
- Gradle
- 스프링 테스트
- 패킷 스위칭
- 스프링 mvc
- Thymeleaf
- Spring Data JPA
- jsp
- fetch join
- 쉽게 배우는 운영체제
- 파이썬 for Beginner 연습문제
- 방명록 프로젝트
- Python Cookbook
- git branch
- 선형 회귀
- 프로그래머스
- Spring
- Spring Boot
- 스프링 컨테이너
- JPA
- 생활코딩 javascript
- Computer_Networking_A_Top-Down_Approach
- 김영환
- git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |