본문 바로가기

분류 전체보기

(656)
[정보보안] 가장 흔한 웹 취약점 주입 공격주입공격의 문제점은 사용자의 신뢰되지 않은 데이터가 명령이나 또는 질의의 일부로 웹 애플리케이션에 바로 전달될 때 발생합니다. 공격자는 웹 애플리케이션을 속여 의도치 않은 명령을 수행하게 하거나 권한 없는 자료에 접근하도록 합니다. 주입공격은 해커가 웹애플리케이션에 먹인 악성 입력 값이 안전하지 않은 방식으로 작용할 때 일어납니다. 이것은 웹 애플리케이션을 공격하는 아주 오래된 방법 중 하나지만, 널리 퍼져 있고 대단히 파괴적이기 때문에 여전히 최고의 공격법입니다. 주입공격의 취약점은 웹 애플리케이션에서 사용자가 악의적으로 입력할 수 있는 곳이면 어디서나 발생할 수 있습니다. 가장 흔히 알려진 주입공격은 다음과 같은 기능을 목표로 합니다. 1. 구조화 조회 원어(Structured Query L..
[정보보안] REST JWT(JSON Web Token) 이란? JWT(JSON Web Token)을 이용한 API 인증 개인 학습 목적으로 원본블로그로부터 그대로 옮긴 포스팅입니다. 원본 출처는 조대협의 블로그 : http://bcho.tistory.com/999, http://bcho.tistory.com/1000 REST API에 대한 보안과 인증이 화두가 되면서 많이 언급되는 것이 OAuth인데, 근래에 들어서 화두가 되고 있는 것은 JWT(JSON Web Token)이라는 표준입니다. Claim 기반 토큰의 개념 OAuth에 의해서 발급되는 access_token은 random string으로 토큰 자체에는 특별한 정보를 가지고 있지 않는 일반적인 스트링 형태입니다. 아래는 페이스북에서 발급된 access_token의 형태로 일반적인 문자열 형태임을 확인할 ..
[자바성능] 클래스 정보와 reflection Reflection 관련 클래스들 자바 API에는 reflection이라는 패키지가 있습니다. 이 패키지에 있는 클래스들을 써서 JVM에 로딩되어 있는 있는 클래스와 메소드 정보를 읽어 올 수 있습니다. 주요 클래스로 어떤 것들이 있으며, 각 클래스에서 제공되는 메소드들은 아래와 같습니다. Class 클래스 Class 클래스는 클래스에 대한 정보를 얻기에 좋은 클래스입니다. Class 클래스는 생성자가 따로 없습니다. ClassLoader 클래스의 defineClass() 메소드를 이용해서 클래스 객체를 만들 수도 있지만, 좋은 방법은 아닙니다. Object 클래스에 있는 getClass() 메소드를 이용하는 것이 일반적입니다. String getName(): 클래스의 이름을 리턴한다. Package g..
[자바스크립트] 기본적인 웹 사이트 최적화 방법 HTTP 요청 최소화 HTTP 요청 최소화는 최적화에서 가장 기본적이면서도 중요한 부분입니다. 웹 사이트는 주로 마크업, 이미지, 스타일시트, 자바스크립트 등으로 구성됩니다. 각 구성 요소는 모두 웹서버에 있습니다. 이 구성 요소를 사용자의 컴퓨터로 가져오는 데는 네트워크 비용이 듭니다. 네트워크 비용은 곧 응답 시간으로 이어집니다. 그러므로 다운로드해야 하는 구성 요소의 개수를 줄이는 것은 가장 효과가 크고 중요한 최적화 방법입니다. 웹페이지에서 다운로드하는 구성요소의 개수는 HttpWatch나 YSlow로 알아볼 수 있습니다. 캐시가 없는 상태에서는 총 121개의 구성 요소를 다운로드 하고, 캐시가 있는 상태에서는 43개의 구성 요소를 다운로드합니다. 어떻게 121개의 구성요소만으로 구현해 HTTP ..
[자바스크립트] 웹 사이트 최적화 웹사이트 성능과 최적화 사용자 경험(UX, User Experience) 전문가 제이콥 닐슨은 웹페이지의 반응 시간(Response Time)이 되도록 1초 이내여야 사용자 경험에 긍정적인 영향을 미친다고 분석하였습니다. 그 이상 시간이 걸리면 컴퓨터의 동작에 이상이 생겼다고 생각해 결국 웹페이지를 떠나고 사용자 경험에 부정적인 영향을 미치게 됩니다. 이처럼 웹페이지의 반응 시간, 즉 응답 속도는 웹서비스의 경쟁력 가운데 하나 입니다. 웹서비스는 모두 브라우저에서 표현됩니다. 그렇기 때문에 브라우저가 어떻게 동작하는지 이해하는 것은 웹사이트 최적화에 꼭 필요한 일입니다. 브라우저가 웹페이지를 처리하는 방식은 1. 서비스 이동 단계 → 2. 리다이렉트 단계 → 3. 애플리케이션 캐시 확인 단계 → 4. 네..