분류 전체보기 (3) 썸네일형 리스트형 XSS (Cross Site Scripting) XSS(Cross Site Scripting)란? SQL injection과 함께 웹 상에서 가장 기초적인 취약점 공격 방법의 일종으로, 악의적인 사용자가 공격하려는 사이트에 스크립트를 넣는 기법을 말한다. 공격에 성공하면 사이트에 접속한 사용자는 삽입된 코드를 실행하게 되며, 보통 의도치 않은 행동을 수행시키거나 쿠키나 세션 토큰 등의 민감한 정보를 탈취한다. 공격 방법에 따라 Stored XSS와 Reflected XSS로 나뉜다. - Stored XSS 사이트 게시판이나 댓글, 닉네임 등 스크립트가 서버에 저장되어 실행되는 방식 - Reflected XSS 보통 URL 파라미터(특히 GET 방식)에 스크립트를 넣어 서버에 저장하지 않고 그 즉시 스크립트를 만드는 방식 크로스 사이트 스크립팅이란 이름.. 1주차, JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가 1. JVM이란? JVM (Java Virtual Machine)이란, 영어를 그대로 직역하면 '자바를 실행하기 위한 가상 컴퓨터' 라고 이해하면 된다. Virtual Machine 즉, 가상기계는 소프트웨어로 구현된 하드웨어를 뜻하는 넓은 의미의 용어이다. 자바로 작성된 애플리케이션은 모두 이 가상 컴퓨터(JVM)에서만 실행되기 때문에, 자바 애플리케이션이 실행되기 위해서는 반드시 JVM이 필요하다. 위 그림처럼 일반 애플리케이션의 코드는 OS만 거치고 하드웨어로 전달되는데 비해, Java 애플리케이션은 JVM을 한 번 더 거치고 하드웨어에 맞게 컴파일된 상태가 아니고 실행 시 해석되기 때문에 속도가 느리다는 단점을 가지고 있다. 그러나, 요즘엔 바이트코드(컴파일된 자바코드 = .class 파일)를 하.. Maven과 Gradle 첫 번째 주제는 Maven과 Gradle. 첫 프로젝트를 시작하기 앞서 IDE를 다운받고 Build 툴 관련하여 기존 Maven으로 짜여져 있던 걸 Gradle 로 변경한다는 이야기를 들었다. 공부할 때 혹은 STS를 다운로드 받을 때 툴 이름에 대해 듣기만 했지 정확한 차이점에 대해 설명할 수 없었다. 해당 툴에 대한 이야기를 해보려고 한다. 1. Maven 이란? 아파치에서 개발한 자바 기반 프로젝트의 관리를 위한 빌드 도구이다. (빌드 도구란 프로젝트 생성, 테스트 빌드, 배포 등의 작업을 위한 전용 프로그램) 컴파일과 빌드를 동시에 수행하고 테스트를 병행하거나 서버 측의 Deploy 자원을 관리할 수 있는 환경을 제공한다. 더보기 "서버 측의 Deploy 자원"은 Maven에서 웹 애플리케이션 또.. 이전 1 다음