Translate

2018년 5월 11일 금요일

[Fiddler] Java Application 통신 캡쳐하기





Java 에서 HttpClient 와 같은 프로그램을 이요해서 다른 서버에 접속하는경우 Request / Response 를 편하게 보기위해 Fiddler로 볼 수 있는 방법을 찾아봤다.



방법은 의외로 간단한데..
JAVA 실행 시 옵션으로 아래와 같은 값을 주면 되었다.

1004lucifer

-DproxySet=true -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8888


또는 Java 소스에 아래와 같은 코드를 넣어줘도 된다.


System.setProperty("http.proxyHost", "127.0.0.1");
System.setProperty("https.proxyHost", "127.0.0.1");
System.setProperty("http.proxyPort", "8888");
System.setProperty("https.proxyPort", "8888");






PS.
프로그램에 따라 환경변수를 이용해서 JAVA 뒤에 옵션을 붙이는 경우가 있는데..
Tomcat의 경우에는 JAVA_OPTS 를 사용하는데..


JMeter(4.0)의 경우에 jmeter.bat 파일을 열어 아래와 같이 수정을 했다.
1004lucifer
set JAVA9_OPTS=-DproxySet=true -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8888



참고
 - http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureJavaApp


[JMeter] HTTP Request - Binary 데이터를 Parameter / Body Data 에 넣어 보내기







JMeter 에서 바이너리 데이터를 보낼 때 아래와 같이 해주면 된다.



1. Request 에 포함할 Binary 데이터를 파일로 생성한다.
  - Parameter(인자) 형식이라면 파일 내용에 파라메터명을 넣어준다.

  파일을 텍스트 에디터로 열었을 때 내용은 아래와 비슷한 형식이 된다.

 [Parameter 없는경우, 일반적인 바이너리 파일과 같다.]
  E    d          ߱        2   11   E /   0                  α     ε  222-3   0                


 [Parameter 있는경우]
id=1004lucifer&binaryData=   E    d         &age=34&country=korea


PS. 바이너리 파일은 텍스트에디터에서 문자열을 바로 편집할게 아니라 (Java와 같은)프로그램을 이용해서 생성해 준다.
(참고: https://stackoverflow.com/questions/4350084/byte-to-file-in-java)




2. Parameters 항목에 값이 없어야 한다.




3. Files Upload 항목의 File Path에 파일경로를 입력하고 Parameter Name / MIME Type 은 값을 입력하지 않는다.
1004lucifer






Fiddler 로 Request/Response 확인 시 의도했던대로 작업이 된것을 확인할 수 있었다.





PS.
JMeter 통신을 Fiddler 에서 캡쳐하도록 설정하는 방법
 - http://1004lucifer.blogspot.kr/2018/05/fiddler-java-application.html


2018년 5월 9일 수요일

[Windows] 원격데스크톱 연결 시 'CredSSP 암호화 Oracle 수정 때문일 수 있습니다.' 이슈





환경: Windows 10


증상

윈도우 업데이트 후 원격 접속 시 아래와 같이 오류메시지가 보여지며 접속이 되지 않았다.



인증 오류가 발생했습니다.
요청한 함수가 지원되지 않습니다.

원격 컴퓨터: xxx.xxx.xxx.xxx
CredSSP 암호화 Oracle 수정 때문일 수 있습니다.
자세한 내용은 https://go.microsoft.com/fwlink/?linkid=866660를 참조하세요.






원인
1004lucifer
기존 CredSSP 프로토콜에 원격 코드 실행 취약성 이슈로 인해 Windows 업데이트 후 접속하려는 서버에 CredSSP 관련 업데이트가 되지 않은경우 접속을 차단시킨다.






방법
(1번 또는 2번 둘중에 하나만 하면 된다.)

1. 접속하려는 Windows 서버에 해당 보안 업데이트(KB4093120)를 적용한다.
(https://support.microsoft.com/ko-kr/help/4093120/windows-10-update-kb4093120)

 - 설치방법: 설정 > 업데이트 및 보안 > Windows 업데이트에서 Microsoft 업데이트에서 온라인으로 업데이트 확인



2. 보안 설정을 변경한다.
1004lucifer
  1) gpedit.msc 실행 (아래의 두가지 방법중 아무거나..)




  2) 컴퓨터 구성 -> 관리 템플릿 -> 시스템 -> 자격 증명 위임 -> Oracle 수정 암호화









위와같이 셋팅 후 다시 원격 데스크톱 실행 시 정상적으로 접속이 되는 것을 확인 할 수 있을 것이다.



참고
- https://support.microsoft.com/ko-kr/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018
https://support.microsoft.com/ko-kr/help/4093120/windows-10-update-kb4093120