背景CVE-2021-21972 VMware vCenter における認証されていないコマンド実行の脆弱性。この脆弱性により、vCenter サーバー上の任意の場所に Web シェルをアップロードし、Web シェルを実行することができます。 影響を受けるバージョンVMware:ESXi:7.0/6.7/6.5 脆弱性再現fofaクエリ構文: 有価証券
バッチ検証には #-*- コーディング:utf-8 -*- バナー = """ 888888ba dP 88 `8b 88 a88aaaa8P' .d8888b. d8888P .d8888b. dP dP 88 `8b. 88' `88 88 Y8oooooo. 88 88 88 .88 88. .88 88 88 88. .88 88888888P `88888P8 dP `88888P' `88888P' ああああああああああああああああああああああああああああああ @時間:2021/02/24 CVE-2021-21972.py NebulabdSec による C0de - @batsu 「」 印刷(バナー) スレッドプールをインポートする ランダムにインポート 輸入リクエスト argparseをインポートする http.clientをインポートする urllib3をインポートする urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) http.client.HTTPConnection._http_vsn = 10 http.client.HTTPConnection._http_vsn_str = 'HTTP/1.0' TARGET_URI = "/ui/vropspluginui/rest/services/uploadova" get_ua() を定義します: first_num = ランダム.randint(55, 62) third_num = ランダム.randint(0, 3200) 4番目の数値 = ランダム.randint(0, 140) os_type = [ '(Windows NT 6.1; WOW64)'、'(Windows NT 10.0; WOW64)'、'(X11; Linux x86_64)'、 '(Macintosh; Intel Mac OS X 10_12_6)' ] chrome_version = 'Chrome/{}.0.{}.{}'.format(first_num, third_num, fourth_num) ua = ' '.join(['Mozilla/5.0', random.choice(os_type), 'AppleWebKit/537.36', '(KHTML、Gecko など)'、chrome_version、'Safari/537.36'] ) uaを返す def CVE_2021_21972(url): プロキシ = {"scoks5": "http://127.0.0.1:1081"} ヘッダー = { 'ユーザーエージェント': get_ua(), 「コンテンツタイプ」: 「application/x-www-form-urlencoded」 } ターゲット URL = url + TARGET_URI 試す: res = リクエスト.get(targetUrl, ヘッダー=ヘッダー、 タイムアウト=15、 検証=False、 プロキシ=プロキシ) # プロキシ = {'socks5': 'http://127.0.0.1:1081'}) # print(len(res.text)) res.status_code == 405の場合: print("[+] URL:{}---------CVE-2021-21972 脆弱性が存在します".format(url)) # print("[+] コマンド成功結果: " + res.text + "\n") open("vulnerability address.txt", 'a') を fw として実行します: fw.write(url + '\n') それ以外: print("[-] " + url + " CVE-2021-21972 の脆弱性は見つかりませんでした。\n") # except Exception として e: # 印刷(e) を除外する: print("[-] " + url + " リクエストエラー\n") def multithreading(ファイル名, プール=5): 作品 = [] open(filename, "r") を f として実行します: i が f の場合: func_params = [i.rstrip("\n")] # func_params = [i] + [cmd] works.append((func_params, None)) プール = threadpool.ThreadPool(プール) reqs = threadpool.makeRequests(CVE_2021_21972、動作します) [pool.putRequest(req) は reqs 内の req に対して実行されます] プール.wait() main() を定義します: パーサー = argparse.ArgumentParser() パーサー.add_argument("-u", "--url", help="ターゲット URL; 例:http://ip:port") パーサー.add_argument("-f", " - ファイル"、 help="URL ファイル; 例:url.txt") # parser.add_argument("-c", "--cmd", help="実行するコマンド; ") 引数 = パーサー.parse_args() url = 引数.url # cmd = args.cmd ファイルパス = 引数.ファイル url != None かつ file_path == None の場合: CVE_2021_21972(URL) elif url == None かつ file_path != None: multithreading(file_path, 10) # __name__ == "__main__" の場合、デフォルトは 15 スレッドです: 主要() EXP 修理の提案vCenter Server 7.0 を 7.0.U1c にアップグレードする VMware vCenter の不正な任意ファイルアップロード脆弱性 (CVE-2021-21972) に関する記事はこれで終了です。VMware vCenter アップロード脆弱性に関するその他の関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: CSS 前景と背景の自動カラーマッチング技術の紹介 (デモ)
序文前回の記事では、eコマース シナリオでのフラッシュ セールの例を通じて、モノリシック アーキテク...
iノードとは何ですか? inode を理解するには、まずファイル ストレージから始める必要があります...
目次1 新しいオペレータの紹介2 新しいものは何をしましたか? 3 新しい演算子の実装をシミュレート...
Nginx Rewriteの使用シナリオ1. URL アドレスジャンプ。たとえば、ユーザーが pm....
目次1. 概要1.1 プロトタイプとは何ですか? 1.2 プロトタイプを入手する2. プロトタイプの...
序文最近、プロジェクトを構築しているときに、リクエストのカプセル化について考え、どのようにカプセル化...
現在、OK ボタンをクリックしたときやキーボードの Enter キーを押したときに操作を実行するとい...
需要: この需要は緊急に必要です!地下鉄のシーンでは、脱出経路を示す矢印を描かなければなりません。こ...
1. 前提条件JDKがインストールされましたecho $PATHソフトリンクを作成し、JDKのインス...
方法1: DOMが提供するイベントオブジェクトのターゲットイベント属性を使用して値を取得し、送信する...
1 はじめにKong は単純な製品ではありません。この記事で言及されている Kong は主に Kon...
ローカル データベースに接続すると、Navicat for MySQL は以下のように 1045 エ...
前提条件: データベースを復元するために必要な .frm ファイルと .ibd ファイルを保存します...
パブリックアカウントのファンデータを同期してバッチプッシュするときに、サーバーがエラー502を報告し...
この記事の例では、参考までに貪欲なスネークを実装するためのJavaScriptの具体的なコードを共有...