-
URL 도메인의 @ 기호
모의해킹 진행 중 처음보는 피싱 방법을 알게되었다. (실제로 언제부터 사용된지는 모르겠다..) 바로 callbackURL에 @를 넣어서 피싱 사이트로 연결시키는것. (혹은 리다이덱트 URL 등등) 예를 들면 ?callbackURL=https://www.naver.com@google.com 이런식이다. 네이버 링크처럼 보이지만 https://www.naver.com@google.com를 호출해보면 네이버가 아닌 구글로 연결된다. 이렇게 정상적인 도메인 뒤에 @를 넣고 피싱 도메인을 넣으면 피싱 사이트로 연결이 된다. @는 무엇일까? HTTP URL은 URI 문법을 따른다. 그럼 URI에서 @는 어떻게 인... Read More
-
[Spring] RequestContextHolder의 getRequestAttribute가 null이다?
Spring이 제공해주는 RequestContextHolder는 Request 정보를 쉽게 갖고올 수 있는 참 좋은 유틸이다. 일반적으로 ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest()로 요청 정보를 가져온다. 하지만 getRequestAttributes()이 null이라 오류가 나는 경우가 있다. 가장 많이 겪은 원인은 메서드의 주석을 보면 알 수 있다. Return the RequestAttributes currently bound to the thread or null if none bound ... Read More
-
[Spring] request의 inputstream (body) 재활용
Spring에서 @RequestBody 를 이용해 body 데이터를 받을 떈 내부적으로 HttpServletRequest의 inputStream에서 값을 가져온다. inputStream은 흐름이기때문에 미리 마킹해놓지 않으면 read()로 한 번 읽은 내용을 다시 읽을 수 없다. 때문에 @RequestBody로 선언한 객체가 만들어지기 전에 먼저 inputStream.read()를 실행시키면 이 후 값을 읽을 수 없어서 Required request body missing 이라는 에러가 나온다. 그래서 inputStream에 있는 body의 내용을 다시 사용 할 수 있게 request를 수정했다. Http... Read More
-
[JAVA] feign url values must be not be absolute 오류
오류 @FeignClient(url="http://localhost:8080") public interface MyFeignClient{ @GetMapping("{url}") Object getCall(@PathVariable String url, @RequemstParam("param") String param); } @Service public MyService { @Autowired MyFeignClient myFeignClient; public Object getCall() { return myFeignClient.getCall("http://localhost:8080... Read More
-
[IntelliJ] toolWindow Plugin 만들기
ToolWindow는? intelliJ 좌, 우, 하단에 위치한 바에 있는 항목들을 지칭한다. ToolWindow 만들기 기본적인 셋팅은 되어있다는 가정하에 방법은 다음과 같다. 1. 컴포넌트 만들기 간단하게 컴포넌트 몇가지로 구성했다. toolWindow 생성 시 메인 panel이 필요하므로 getter를 하나 생성해준다. public class MyPluginComponent { private JPanel rootPanel; private JTextField textField1; private JRadioButton radioButton1; private JRadi... Read More