XCat is a command line program that aides in the exploitation of blind XPath injection vulnerabilities.
XCat is a command line program that aides in the exploitation of blind XPath injection vulnerabilities. It can be used to retrieve the whole XML document being processed by a vulnerable XPath query, read arbitrary files on the hosts filesystem and utilize out of bound HTTP requests to make the server send data directly to xcat.
XCat is built to exploit boolean XPath injections (Where only one bit of data can be extracted in one request) and it requires you to manually identify the exploit first, this does not do that for you.
+ Exploits both GET and POST attacks
+ Extracts all nodes, comments, attributes and data from the entire XML document
+ Small and lightweight (only a few pure-python dependencies)
+ Parallel requests
+ XPath 2.0 supported (with graceful degrading to 1.0)
+ Advanced data postback through HTTP (see below)
+ Arbitrarily read XML files on the servers file system via the doc() function (see below)
+ Arbitrarily read text files on the servers file system via crafted SYSTEM entities
Latest change 6/5/2016:
+ AttributeError: ‘ClientResponse’ object has no attribute ‘read_and_close’
+ xcat/lib;Change in the aiohttp library made the previous call not work with the latest version aiohttp.
git clone https://github.com/orf/xcat && cd xcat
python3 setup.py install
pip3 install xcat
git pull origin master