타임리프 소개 타임리프는 서버에서 html을 동적으로 렌더링 할 때 사용하는 템플릿 엔진이다. 간단한 조건문(if, else), 변수표현, 각종 연산(삼항연산, 산수, 비교, 문자, 참 거짓)이 가능하다. 자바에서 잘 알고있는, 브라우저가 인식 할 수 없는 태그라이브러리를 사용하는 JSP와의 가장 큰 차이점은 확장자가 .HTML이며 서버 가동 없이도 순수한 html로서 활용할 수 있다는 점 이다. 앞서 말했듯이 순수 html로 활용 할 수 있어서 쉽게 수정이 가능하다는 장점이 있다. 또한 사용법이 매우 쉬운 편이라 백엔드 개발자가 빠르게 개발 할 일이 있거나, 지나치게 동적이지 않은 웹페이지를 만들때에도 유용하다. 디자이너와의 분업에서도 JSP보다 강점이 있다. 스프링과의 연동성이 뛰어나다는 점도 장점이..
Mysql Workbench 를 주로 사용하지만, 간단한 작업이나 DB, 테이블을 확인하는 용도 외에도 python / javascript 스크립팅 기능도 제공하고 있다. \connect --mysql root@localhost:3306 명령어로 접속해 준다. JS 기능대신 Mysql 문법이 사용하고 싶다면 \sql \show databases; db를 확인하고 기본으로 사용할 DB를 선택할 수 있다. use dbname; 이후 부터는 기존 mysql 문법으로 Create, Update, Select 등 조작할 수 있다.
Riot api는 유명한 open api로서, 개발을 공부하는 학생도 유용하게 사용할 수 있다. op.gg / fow.kr 등등의 LOL 전적검색 사이트를 클론코딩 해볼 수 도 있다. Riot API 를 사용하기 위해 어떻게 발급 받는지 알아보도록 하자 Riot API key 발급받기 https://developer.riotgames.com/ Riot Developer Portal About the Riot Games API With this site we hope to provide the League of Legends developer community with access to game data in a secure and reliable way. This is just part of our on..
Spring 4 shell 취약점 이해 및 재현 https://lovflag.tistory.com/23 [Spring,Spring boot] Spring 4 shell 취약점 탐구 취약점 발현을 위한 조건 JAVA JDK 9+ Spring Framework 5.3.17 및 5.2.19 이하 버전의 Spring Framework (.war 방식 패키징 ,(.jar X)) SpringMVC 종속성 Apache Tomcat 8.5.77 이하, 9.0.61 이하 및 10.0.19 이하 버전 (외장 톰캣 사 lovflag.tistory.com Spring boot 개발 (api사용) (예정)
취약점 발현을 위한 조건 JAVA JDK 9+ Spring Framework 5.3.17 및 5.2.19 이하 버전의 Spring Framework (.war 방식 패키징 ,(.jar X)) SpringMVC 종속성 Apache Tomcat 8.5.77 이하, 9.0.61 이하 및 10.0.19 이하 버전 (외장 톰캣 사용) 매개변수 POJO 방식의 처리 환경 SpringMVC Model, View, Controller 세 구성요소를 사용해 사용에 대한 응답을 처리하는 디자인 패턴 POJO 특정 기술에 종속되어 있지 않은 순수 자바 객체. getter, setter 보유 public class SiteUser { /*사용자 아이디*/ @Id private long id; private String con..
javaw의 위치를 찾지 못한 경우 자신이 설치한 java의 위치를 찾아가 bin 폴더 안에서 javaw.exe 파일의 위치를 확인하여 sts, eclipse 경로의 .ini 파일을 열어 다음을 추가해 준다. -vm D:\java\bin\javaw.exe (내 javaw 경로) - 주의 : vmargs보다 위쪽에 위치할 것. lombok 설치 후 경로가 한글로 지정된 경우 spring framework로 개발 할때 lombok 설치를 많이 하는데, 이때 설치 후 경로가 한글로 지정되어 있을 경우 오류가 발생하곤 한다. 이때 역시, sts.ini / eclipse.ini 파일을 열어 javaagent: 부분을 수정해 주면 되는데, lombok을 설치했을경우 파일에 추가되어있는 lombok, sts/ecli..
문제는 어렵지 않으나 각종 우회 기법 관련해 정리할만 하다고 생각하여 작성한다. 싱글쿼터로 internal server error를 확인하였으므로, SQL injection을 진행해본다. ' or 1=1;# '||1=1;# '||1=1 -- a 등등 시도해 봤지만, 기본적으로 필터링 되어있는것을 확인할 수 있었고, '||1;# 로 로그인에 성공할 수 있었다. 명령어를 입력하여 flag가 들어있는 파일을 읽어오는 문제임을 확인 할 수 있었다. 그러나, 기본적으로 공백, flag, cat, slash 등등 많은 필터링이 존재했으므로 이것을 필터링 하는것이 관건이다. 이때, 각각 공백은 { , } 로 우회할 수 있었고 {ls,..} slash는 ${HOME:0:1}로 cat 명령어는 tail로, flag.tx..
CSP? CSP는 Content-Security-Policy의 약자이며, 하나의 보안 정책이다. 웹 페이지에서 사용될 수 있는 자원의 위치, 출처 등에 제약을 줄 수 있기 때문에, 자체적인 XSS 방어 정책과 곁들인다면 XSS를 매우 효과적으로 방어 할 수 있다. CSP는 Content-Security-Policy HTTP 헤더에 추가하여 적용 할 수 있으며, html 페이지에서 태그를 활용할 수도 있다. SOP와 다르게 룰을 직접 설정하기 때문에, 잘못된 설정은 아무 의미도 없게 되어버릴 수도 있다는 것이다. (= 정책에 따라 bypass 방법이 다양할 수 있다.) 따라서 csp를 올바르게 설정하였는지 검사해 볼 수 있는 사이트도 있으니 참고하도록 하자. https://csp-evaluator.with..