본문 바로가기

전체 글

(655)
[JSP] 적절한 include 사용하기 일반적으로 JSP에서 소요되는 시간은 많지 않습니다. JSP가 가장 처음에 호출되는 경우에만 시간이 소요되고, 그 이후의 시간에는 컴파일된 서블릿 클래스가 수행되기 때문입니다. 그럼 JSP의 라이프 사이클을 간단하게 리뷰해 보면 다음과 같습니다. JSP의 라이프 사이클은 다음의 단계를 거칩니다. 여기서 해당 JSP 페이지가 이미 컴파일되어 있고, 클래스가 로드되어 있고, JSP 파일이 변경되지 않았다면, 가장 시간이 많이 소요되는 페이지 번역, JSP 페이지 컴파일, 클래스 로드, 인스턴스가 생성되는 과정을 생략되고 JSP URL이 호출되면 바로 인스턴스가 생성되어 바로 jspInit 메소드가 호출되는 방식으로 흐름이 이어집니다. 서버의 종류에 따라서 서버가 기동될 때 컴파일을 미리 수행하는 Pre-co..
[자바스크립트] 성능을 높이는 코드 스타일 자바스크립트의 기본 요소인 반복문과 조건문, 문자열 연산과 함께 배열과 객체의 생성과 초기화, 문자열 연산, 정규 표현식, 변수 탐색 등을 어떻게 작성하느냐에 따라 자바스크립트의 실행 성능을 높일 수가 있습니다. 같은 기능을 실행하는 다양한 코드의 성능을 비교해 어떻게 작성할 때 성능이 더 좋은지 확인하는 것도 개발자에게 필요한 습관입니다. 아주 기초적인 코드이더라도, 키초적인 코드를 어떻게 작성하느냐에 따라서 자바스크립트의 실행 성능에 큰 차이가 날 수도 있습니다. 이후 개발을 하면서 성능 향상 문제를 해결하려 성능 개선 요소를 보며 하나하나 적용하기 보다는 제시된 최적화된 코드의 형태로 코딩하는 습관을 몸에 익혀 놓는 것이 성능 개선에 좀 더 효과적인 방법입니다. 물론 경우에 따라 직접 성능을 측정하..
[정보보안] 인증과 세션을 이용한 웹애플리케이션 공격 웹 애플리케이션에 인증하면 개인화된 브라우징을 하게 되고, 한편 세션 관리 시스템은 모든 요청과 응답내용을 추적하고 관리하여 쇼핑이나 지불 결제와 같은 다단계 행위를 할 수 있도록 돕습니다. 말하자면 같은 냄비 안에 든 두가지 콩이라고 할만합니다. 애초에 HTTP 프로토콜은 이전 상태를 추적하지 않는 프로토콜로 만들어졌기 때문에 인증이나 세션 관리 모두 고려되지 않았습니다. 하지만 인터넷이 무르익어가면서 이 두 가지 특성이 더 많이 이용됨에 따라 상황은 더욱 복잡해 졌습니다. 불행히도 인증과 세션 관리는 많은 웹 애플리케이션을 취약하게 만든 셈입니다. 그 각각을 공격하는 도구와 기술은 조금 다르지만 서로 밀접합니다. 경로 횡단 공격은 웹 서버의 디렉토리 구조에 접근할 권한이 있을 때 발생하게 됩니다. 이..
[정보보안] 웹서버 해킹 웹서버 해킹은 "네트워크 해킹"으로 알려진 더 큰 영역의 일부입니다. 대부분의 사람들에게는 아주 잘 알려진 도구를 사용하고 매체를 통해 널리 광고되기도 했으므로 해킹을 처음 시도해보는 사람들조차 파고들어가고픈 영역이기도 합니다. 네트워크 해킹에서 보안과 관련한 사람들이 반드시 알아두어야 하는 확실한 도구와 기술이 존재합니다. 이런 사항은 우리가 공격할 웹 서버가 웹 애플리케이션을 호스팅합니다. 네트워크를 해킹할 때 Nmap, Nessus, Metasploit 같은 도구는 보안을 연구하는 모든 사람들이 잠재적으로 사용하게 되는 중요한 것들입니다. 스스로 해킹 기술을 한 단계에 올리고자 한다면 이러한 기본적인 도구의 쓰임새를 마스터해야 합니다. "뛰려면 먼저 걸어야 한다" 이런 도구에 관한 전문적인 책과 자..
[정보보안] 가장 흔한 웹 취약점 주입 공격주입공격의 문제점은 사용자의 신뢰되지 않은 데이터가 명령이나 또는 질의의 일부로 웹 애플리케이션에 바로 전달될 때 발생합니다. 공격자는 웹 애플리케이션을 속여 의도치 않은 명령을 수행하게 하거나 권한 없는 자료에 접근하도록 합니다. 주입공격은 해커가 웹애플리케이션에 먹인 악성 입력 값이 안전하지 않은 방식으로 작용할 때 일어납니다. 이것은 웹 애플리케이션을 공격하는 아주 오래된 방법 중 하나지만, 널리 퍼져 있고 대단히 파괴적이기 때문에 여전히 최고의 공격법입니다. 주입공격의 취약점은 웹 애플리케이션에서 사용자가 악의적으로 입력할 수 있는 곳이면 어디서나 발생할 수 있습니다. 가장 흔히 알려진 주입공격은 다음과 같은 기능을 목표로 합니다. 1. 구조화 조회 원어(Structured Query L..