To comply with the rule, in this write up, some hints related to this challenge only will be mentioned.
룰을 준수하기 위해, 여기서는 챌린지와과 관련된 몇 가지 힌트만이 언급됩니다.
(12) Exploiting CVE-2013-7285 (XStream)
WebGoat Sends an XML document to add contacts to a contacts database.
(12) CVE-2013-7285(XStream) 취약점 공격.
WebGoat는, 데이터베이스에 연락처 정보를 추가하기 위해, 해당 정보를 XML 문서형태로 전송한다.
<contact>
<id>1</id>
<firstName>Bruce</firstName>
<lastName>Mayhew</lastName>
<email>webgoat@owasp.org</email>
</contact>
For this example, we will let you enter the xml directly versus intercepting the request and modifying the data. You provide the XML representation of a contact and WebGoat will convert it a Contact object using XStream.fromXML(xml).
이번 챌린지에서는, 요청 메시지를 인터셉트하여 수정하기보다는, XML을 직접 입력하도록 구성하였다. 당신이 입력한 XML 형식의 연락처는 WebGoat에서 "XStream.fromXML(xml)"을 통해 "Contact" 객체로 변환될 것이다.
WebGoat Sends an XML document to add contacts to a contacts database.
(12) CVE-2013-7285(XStream) 취약점 공격.
WebGoat는, 데이터베이스에 연락처 정보를 추가하기 위해, 해당 정보를 XML 문서형태로 전송한다.
<contact>
<id>1</id>
<firstName>Bruce</firstName>
<lastName>Mayhew</lastName>
<email>webgoat@owasp.org</email>
</contact>
For this example, we will let you enter the xml directly versus intercepting the request and modifying the data. You provide the XML representation of a contact and WebGoat will convert it a Contact object using XStream.fromXML(xml).
이번 챌린지에서는, 요청 메시지를 인터셉트하여 수정하기보다는, XML을 직접 입력하도록 구성하였다. 당신이 입력한 XML 형식의 연락처는 WebGoat에서 "XStream.fromXML(xml)"을 통해 "Contact" 객체로 변환될 것이다.
$ git clone https://github.com/pwntester/XStreamPOC.git
'XStreamPOC'에 복제합니다...
remote: Enumerating objects: 61, done.
remote: Counting objects: 100% (61/61), done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 61 (delta 10), reused 61 (delta 10), pack-reused 0
오브젝트 묶음 푸는 중: 100% (61/61), 완료.
'XStreamPOC'에 복제합니다...
remote: Enumerating objects: 61, done.
remote: Counting objects: 100% (61/61), done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 61 (delta 10), reused 61 (delta 10), pack-reused 0
오브젝트 묶음 푸는 중: 100% (61/61), 완료.
This challenge has its own flaws that can not be cleared. After downloading the POC separately, you can practice by modifying the source code.
이번 챌린지는 클리어할 수 없는 자체적인 결함이 있다. POC를 별도로 다운로드 받은 후 소스코드를 일부 수정하면 실습할 수 있다.
Run the compiled Java program. Similarly, you must specify the classpath, and you must also correctly reflect the package path for that class. When executed, the program registered in the event handler is executed.
컴파일 완료된 자바 프로그램을 실행시켜본다. 마찬가지로 클래스 패스를 지정해주어야 하고, 추가로 해당 클래스의 패키지 경로를 정확히 반영해야 한다는 점을 주의하면 된다. 실행 시 이벤트 핸들러에 등록한 프로그램이 실행된다.