본문 바로가기

spring xss filter XSS?Cross-Site Scripting 의 준말입니다.유형과 예시 - 위키백과"사용자를 믿지 마라.""XSS는 인터넷 시간으로 고대의 유물에 속한, 잘 알려진 공격 요소다. 이 공격을 막지 못한다면 업무 태만이다."OWASP Top 10 XSS 차단 가이드 적용과거 코드들을 보면 HttpServletRequestWrapper 를 상속해서 아래와 같이 처리하는 것을 종종 볼 수 있습니다. public String[] getParameterValues(String parameter) { String[] values = super.getParameterValues(parameter); if (values == null) { return null; } for (int i = 0; i
https/SNI 차단 우회&대응 불과 그저께까지 대한민국의 불법사이트 차단은 URL 차단과 DNS차단으로 이루어졌습니다. URL 차단은 마이너한 사이트들이나 해외사이트들에서. https 프로토콜로 우회할 수 있었습니다. DNS 오염/차단은 국내 굵직한 불법사이트들에서. (밤토끼, 토렌트킴 등)국내 통신사 DNS가 아니라 클라우드플레어의 1.1.1.1 등을 이용하거나 DNS over Https 를 사용해 우회했습니다. DNS 차단은 사용자가 요청한 사이트가 불법사이트에 해당되면 해당 주소의 IP를 연결해주지 않고 warning.or.kr로 변경해 접속을 막는 방식이고 2018년 국내 불법사이트에 적용되었습니다. 그러나 이제 SNI 필드를 이용한 차단이 이루어집니다. 인증서를 주고받는 과정에서는 평문으로 통신한다는 것을 이용한 것이고, 정..
[Jenkins] Github 프로젝트 연동, webhook, 자동배포 (3) 설정이 완료되었으면 마지막으로, github 프로젝트를 jenkins에서 관리하고, push가 발생하면 빌드와 배포까지 진행하는 작업을 합니다. 환경개발 Windows 10 / 배포 Ubuntu 16.04 LTSMaven 3.6.0Git 2.20.1JDK 8Tomcat 7GithubJenkins 2.150.2설정저는 깃헙에 테스트용 프로젝트를 하나 올려두었습니다. 각자 깃헙에 올라가있는 적당한 프로젝트를 하나 고르세요. 젠킨스 메인화면에서, New Item 메뉴를 선택합니다.Freestyle project 를 선택하시고 아이템명을 넣으세요. GitHub project에 체크하신 뒤, 프로젝트 url을 넣습니다. https://github.com/유저네임/프로젝트명 입니다. 소스코드 관리 탭에서 Git 을..
[Jenkins] 추가설정 - Maven, JDK, Git, Plugin (2) 지난 포스팅에 이어 기본적인 설정이 추가로 필요합니다. 환경Windows 10Maven 3.6.0Git 2.20.1JDK 8GithubJenkins 2.150.2설정젠킨스 메인에서 Jenkins 관리로 들어간 후, Global Tool Configuration 메뉴로 들어갑니다.Maven저는 maven 프로젝트를 사용합니다. maven이 설치되어있지 않으시면 https://maven.apache.org/download.cgi 에서 다운로드하셔서 압축을 푸신 뒤시스템 환경변수 path에 [maven 경로]/bin 을 등록해주셔야 합니다. 설치가 되었다면 Maven Configuration 부분을 찾아갑니다. 아래 셀렉트박스에서 Settings file in filesystem 과 Global setting..
[Jenkins] 윈도우 Jenkins 설치, 기본설정 (1) 나빼고 다 쓴다는 젠킨스를 한 번 써 봅시다.목표는 maven 프로젝트를 github에 푸시하면 자동으로 빌드하고 배포까지 하는 겁니다.다운로드&설치https://jenkins.io/download/ 로 들어가 각 환경에 맞는 LTS 버전을 받고 설치하시면 됩니다.저는 Windows 10에 설치하겠습니다. 설치파일이 아닌 war파일로 받으셔서 기존 구동중인 서버에 올리셔도 됩니다. 압축을 풀고 .msi 파일이 나오면, next next.. 로 설치를 완료합니다.설정설치가 완료되면 8080포트가 열리고, 아래와 같은 화면이 뜹니다. 포트변경* 혹시 8080포트를 사용중이시라면, 설치폴더/jenkins.xml 파일을 오픈하고 아래 부분의 포트를 변경하세요.-Xrs -Xmx256m -Dhudson.lifecy..
[linux] Ubuntu에 tomcat 설치 환경Ubuntu 16.04 LTSJDK 1.8설치apt를 사용해 tomcat8 을 설치합니다.$ apt-get install tomcat8 Y를 선택하면 설치가 완료되고 admin 이나 example, Docs 등은 자유롭게 추가로 설치합니다.$ apt-get install tomcat8-admin ... 추가로 설치한게 있다면 재시작하고, 없다면 바로 상태를 확인합니다.$ systemctl restart tomcat8$ systemctl status tomcat8 달리 server.xml을 손대지 않았으면 8080 포트로 설정되어 있습니다. 8080포트 방화벽을 열어줍니다.$ sudo ufw allow 8080 현재 유동아이피를 사용하는 공유기 환경이라, Vmware에 설치된 우분투의 IP를 아래와 같..
[linux] Ubuntu에 Java JDK 설치 환경Ubuntu 16.04 LTS설치터미널을 여신 뒤 (Ctrl+Alt+T) WebUpd8 Oracle Java PPA를 추가합니다. $ sudo add-apt-repository ppa:webupd8team/java 엔터를 누르시면 추가가 완료됩니다. 패키지 저장소에서 추가한 PPA에 대한 목록을 업데이트합니다.$ sudo apt-get update 저는 jdk8 버전을 인스톨하겠습니다.$ sudo apt-get install oracle-java8-installerjdk9가 받고 싶으시면 java9로 바꾸시면 되구요 Y를 누른 뒤 아래와 같이 경고창이 뜨게 됩니다. 엔터를 누르시고 다음 경고창도 예를 선택하세요. 설치가 완료되면 java -version 으로 jdk 1.8.0_201 버전이 설치되었음..
은행접속 없이 공인인증서 복사하기 공인인증서가 만료될 때마다, 혹은 핸드폰을 바꾸거나 PC를 옮겨다닐 때마다 공인인증서를 복사한 기억이 있으신가요. PC에서 각 은행의 공인인증센터에 들어가 공인인증서 내보내기, 가져오기 핸드폰에서도 은행어플로 접속해서 비슷한 과정을 거쳐줘야만 겨우 공인인증서를 가져올 수 있습니다. 근데 요즘 은행어플도 토스, 카카오페이 등의 간편이체로 처리하기 때문에 거의 사용하질 않는데다가PC에서도 은행에 접속할 때마다 설치하라는 프로그램이 대여섯개씩 되다 보니 키보드를 내려친 적이 한 두번이 아닙니다. 그런데 이 공인인증서를 내보내고 가져오는 과정이 사실은 단순 복사-붙여넣기로도 가능합니다. (ㅡㅡ)모바일/USB → PC핸드폰이나 USB를 연결한 뒤 저장소에서 NPKI 라는 폴더를 찾고 복사합니다. (dropbox ..