目次
0×01はじめに
0×02 トレーニングプロセス
0×03CVE-2010-2861
3.1 半自動書き込み
0×04 自習
4.1 異なるセッションの比較
4.2 異なるセッションの比較accounts
0×05 ChatGPT3 および 4
ホームページ テクノロジー周辺機器 AI ChatGPT が PoC を作成して脆弱性を取得します。

ChatGPT が PoC を作成して脆弱性を取得します。

Apr 07, 2023 pm 02:54 PM
通信網 chatgpt トレーニングモデル

0×01はじめに

ChatGPT (Chat Generative Pre-trained Transformer) は、現在最も期待されているインテリジェント AI チャット ロボットの 1 つです。基本的な言語コミュニケーションを可能にするだけでなく、記事作成、コードスクリプト作成、翻訳など、多くの強力な機能も備えています。それでは、ChatGpt を使用して、作業を完了するのを支援できますか?たとえば、製品にセキュリティ リスクがあり、脆弱性の検出が必要な場合、それを実装するために対応する POC を作成する必要があります。 ChatGPT は、複数の検証を経て、この実験の実現可能性を最初に確認しました。ChatGPT は、簡単な PoC を書くように訓練することはできますが、出力内容に一致する正規表現を記述するなど、細部の制御が十分ではありません。複雑なロジックを処理するため、手動による介入と変更が必要になります。さらに、比較手法を使用して、ChatGPT のセキュリティ推測とトレーニング モデルの一部の精度を検証しました。以下は、Goby の悪用検出のための実用的なネットワーク攻撃および防御ツールと組み合わせた場合の導入効果です。

ChatGPT が PoC を作成して脆弱性を取得します。

0×02 トレーニングプロセス

ChatGPT と Goby を使用して PoC と EXP を作成します。半自動書き込みと完全自動書き込みの 2 つの方法があります。 (プロセス内では ChatGPT-Plus アカウントを使用します)。

半自動書き込みでは、言語形式の変換に ChatGPT を使用します。変換後に生成されたコードには詳細な問題がある可能性があるため、さらなるトラブルシューティングと改善が必要です。最後に、対応するステートメントと関数の内容を修正して、PoC と関数の書き込みを完了します。経験値

全自動書き込みでは、使用したコードテンプレートと脆弱性の詳細をChatGPTに与えることで、テンプレートに対応したPoCを自動生成します。情報。現時点では簡単な PoC を自動で書くことは可能ですが、EXP の場合は ChatGPT で Goby の組み込み関数を使用するためのさらなるトレーニングが必要です。

0×03CVE-2010-2861

Adobe ColdFusion は、効率的な Web アプリケーション サーバー開発環境です。 Adobe ColdFusion 9.0.1 以前の管理コンソールには、複数のディレクトリ トラバーサルの脆弱性が存在します。リモートの攻撃者は、/CFIDE/administrator/enter.cfm、/CFIDE/administrator/archives/index.cfm などに送信されるロケール パラメーターを介して任意のファイルを読み取る可能性があります。

3.1 半自動書き込み

まず、ChatGPT に CVE-2010-2861 ディレクトリ トラバーサルの脆弱性の Python 形式 EXP を Go 言語形式のコードに変換させてみます。手動によるコード解釈とコード変換プロセスを置き換えるために使用されます。

脆弱性公開プラットフォームで脆弱性の EXP コードを選択します:

ChatGPT が PoC を作成して脆弱性を取得します。

ChatGPT を使用して対応する脆弱性の EXP コードを変換する前に、まず次のことを示します。オリジナルの Python コードの実行結果は次のとおりです:

ChatGPT が PoC を作成して脆弱性を取得します。

形式の変換を開始します:

ChatGPT が PoC を作成して脆弱性を取得します。

さらに、プログラムの使用方法も提供しました。ただし、ChatGPT の答えは毎回まったく同じであるとは限りません。前の回答では関数の具体的な使い方が詳しく説明されていませんでしたが、別の回答では次のような説明がありました: (必要に応じて、質問に「関数の具体的な使い方を紹介します」と追加できます)

ChatGPT が PoC を作成して脆弱性を取得します。

コードをデバッグした後、すぐには使用できず、必要なファイルの内容を正常に読み取ることができないことがわかりました:

ChatGPT が PoC を作成して脆弱性を取得します。

次に、調整を開始する必要があります。間違っています。トラブルシューティング プロセスは次のとおりです。

通常の一致後に文字列が空かどうかを確認します。

ChatGPT が PoC を作成して脆弱性を取得します。

ChatGPT が PoC を作成して脆弱性を取得します。

返送の確認 パッケージの内容が正常か、必要なコンテンツがあるかを確認し、返送されたデータパケットは以下のように正常です。正規表現に問題があり、該当する内容が一致しないと判断された場合:

調査の結果、正規表現に正しく一致しないことが判明したため、ファイルの内容を一致させることができませんでした。以下の修正を行いました 修正内容は以下の通りです: ChatGPT が PoC を作成して脆弱性を取得します。

ChatGPT が PoC を作成して脆弱性を取得します。

変更前:

ChatGPT が PoC を作成して脆弱性を取得します。

最終実行結果、完全な Python-Go 変換:

ChatGPT が PoC を作成して脆弱性を取得します。

Python 形式の EXP を Go 言語形式に変換できたので、今度はそれを PoC と Goby 形式の EXP に変換してみます。

Goby は Go 言語をベースとした独自開発の脆弱性フレームワークを使用しているため、ユーザーの利便性を考慮して、ユーザーが使用できる組み込み関数が多数用意されているため、上記の部分のみを使用するだけで済みます。 PoC と EXP を完了するコード。EXP 変更の一般的な説明と詳細は次のとおりです。

ChatGPT が PoC を作成して脆弱性を取得します。

ChatGPT が PoC を作成して脆弱性を取得します。

##インポート コンテンツを変更します。

ChatGPT が PoC を作成して脆弱性を取得します。

コマンド ラインを使用する場合、生成された EXP ではパラメーターを手動で入力する必要があるため、次のようになります。

ChatGPT が PoC を作成して脆弱性を取得します。

次に、PoC を変換するときに、定数を再定義し、Goby の httpclient.FixUrl.IP と httpclient.FixUrl.Port を使用してテスト IP とポート番号を取得し、テスト ファイルのパスを決定する必要があります。 #その後、PoC に条件判断ステートメントを追加し、脆弱性の特性を判断して true (脆弱性がある) を返します。

ChatGPT が PoC を作成して脆弱性を取得します。

最後に、冗長な出力印刷コードを削除します。次のような PoC 変換を完了します。

ChatGPT が PoC を作成して脆弱性を取得します。

EXP を変換するときは、変数を再定義する必要があります。Goby の expResult.HostInfo.IP と expResult.HostInfo.Port を使用して取得します。テスト IP とポート番号、および ss.Params["filePath"] を使用します (文字列) ユーザーによって入力された EXP パラメーターを取得します - テスト ファイル パス filePath:

ChatGPT が PoC を作成して脆弱性を取得します。

次に、EXP コードに条件判定文を追加して、EXP 実行が成功したかどうかを判定し、EXP 実行結果を出力し、EXP 変換を完了します。

ChatGPT が PoC を作成して脆弱性を取得します。

3.2 完全自動書き込み

ChatGPT を手動での作成と組み合わせて使用​​した後、さらにそれを使用して Goby 形式で PoC を作成しようとしました。 ChatGPT が PoC を作成して脆弱性を取得します。

まず、Goby 形式のテンプレートを指定します。

次に、脆弱性番号、製品、タイプ、URL、脆弱性ファイル、パラメーター、および成功条件を指定します。関連するフィールド形式を説明すると、最終的に次のコードが得られました。これは Goby フロントエンドでコンパイルでき、簡単な PoC を正常に生成できます。

ChatGPT が PoC を作成して脆弱性を取得します。

モデルのトレーニングは次のとおりです。最初に完了しました。引き続き 2 番目のケースを使用して、モデルの完全性を確認します:

ChatGPT が PoC を作成して脆弱性を取得します。

Name フィールドにまだ形式エラーがあることがわかりました。再度トレーニングして変更します。 (検証の名前フィールドとその他の出力が正しい場合は、このエラー修正手順をスキップできます):

ChatGPT が PoC を作成して脆弱性を取得します。

最後に、3 番目のケースを使用して、最終的なトレーニング結果を検証します。となり、トレーニングは成功しました:

ChatGPT が PoC を作成して脆弱性を取得します。

コードを Goby に入力し、不足している脆弱性の説明情報を入力します (後で詳細なトレーニングを続けることができます)。実行時の効果は次のとおりです:

ChatGPT が PoC を作成して脆弱性を取得します。

0×04 自習

ChatGPT を使用して新しいゼロデイ脆弱性またはその他の機密脆弱性検出 PoC を作成する場合、このプロセスはプログラム インジェクションや情報漏洩などにつながりますか? 。 どうしたの?つまり、モデルのトレーニングが完了し、他のユーザーが関連する質問をした場合、ChatGPT はトレーニングされたモデルまたはデータを直接出力しますか?

ChatGPT の自己学習予想が存在するかどうかを検証するために、「異なるセッション」と「異なるアカウント」を通じてトレーニングが実行されます。次の実践の結果、ChatGPT はセッション間およびアカウント間の自己学習を実行しないという結論になりました。トレーニングされたモデルとデータは OpenAI の手にあり、他のユーザーは関連するモデルを取得できないため、関連情報の漏洩に伴うセキュリティリスクはありますが、今後の状況については OpenAI の判断に基づいて判断する必要があります。

4.1 異なるセッションの比較

使用したテンプレート (図は省略) と脆弱性情報が示されていますが、PoC の Name フィールドと description フィールドが一致していないことがわかります。トレーニング モードを埋めるため、ChatGPT は異なるセッションで自動的に学習しません。各セッション間のトレーニング モデルは独立しています:

ChatGPT が PoC を作成して脆弱性を取得します。

4.2 異なるセッションの比較accounts

テンプレート (ここでは概略図は省略) と脆弱性情報も示されています。また、PoC の関連フィールドが以前のトレーニング モデルに従って入力されていないこともわかります。 ChatGPT がアカウントの自己学習を超えないことを知っておいてください:

ChatGPT が PoC を作成して脆弱性を取得します。

0×05 ChatGPT3 および 4

ChatGPT4 が更新され、起動されました。その後、ChatGPT4 を使用して、同じ全自動書き込みトレーニングとChatGPT3トレーニングを実行して出てくるモデルの違いは何ですか?答えは、ChatGPT4 が ChatGPT 3 よりも「スマートで柔軟」であり、モデル生成がより正確であるということです。

必要な情報をすべて提供し、1 回のトレーニング後 (ここでは概略図の一部を省略しています)、以下の図の正しい効果が得られました。

ChatGPT が PoC を作成して脆弱性を取得します。

# さらに、10 ラウンドのトレーニングを実施し、ChatGPT3 と 4 の PoC 書き込み精度を決定するためにモデルの Name フィールドを比較しました。どちらの場合にも確率的誤差が存在することがわかり、そのうちモデルの出力精度は次の表に示すように、これは 4 よりも低く、特定の状況下では引き続きエラー修正トレーニングが必要です。

ChatGPT が PoC を作成して脆弱性を取得します。

#0×06 概要

一般的に言い換えると、ChatGPT は作業の一部を完了するのに実際に役立ちます。脆弱性 PoC の作成などの日常的な作業では、そのコード変換機能を使用して作成を高速化できます。また、脆弱性に関する詳細情報を提供することもできます。ChatGPT を使用してください。適切なモデルをトレーニングし、単純な脆弱性検証 PoC コードを直接出力する方が便利で高速です。ただし、提供される回答内容は必ずしも直接コピーして使用できるとは限らず、改善するには手動による修正が必要です。また、ChatGPT は現在比較的安心して使用でき、単一ユーザーの学習モデル データを他のユーザーに出力して使用することはありません (ユーザー データの相互汚染を懸念するため、セッションが混乱することはありません)。将来的には、OpenAI 本部の意思決定に基づいてさらなる判断を下す必要があります。したがって、ChatGPT を合理的に使用することで、ある程度の作業効率の向上につながる可能性があり、今後さらにトレーニングと開発を継続できれば、たとえば、標準化されたより複雑な PoC や情報記述付きの EXP を記述することができるかどうかなど、より多くのアプリケーション シナリオと可能性を探るため、バッチでコンテンツを完成させるように設計することもできます。

参考

[1] https://gobysec.net/exp

[2] https://www.exploit-db.com/exploits/14641

[3] https://zhuanlan.zhihu.com/p/608738482?utm_source=wechat_session&utm_medium=social&utm_oi=1024775085344735232

[4] ChatGPT を使用してエンコーダーとサポート Webshel​​l を生成します

    この記事は、Goby コミュニティのメンバー: LPuff@whitehathui Security Research Institute からのものです。転載する場合は出典を明記してください。
  • バージョンを取得: https://gobysec.net
この記事の著者: GobySec、FreeBuf.COMからの転載元を示してください

以上がChatGPT が PoC を作成して脆弱性を取得します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WLAN拡張モジュールが停止しました[修正] WLAN拡張モジュールが停止しました[修正] Feb 19, 2024 pm 02:18 PM

Windows コンピュータの WLAN 拡張モジュールに問題がある場合、インターネットから切断される可能性があります。この状況はイライラすることがよくありますが、幸いなことに、この記事では、この問題を解決し、ワイヤレス接続を再び正常に動作させるのに役立ついくつかの簡単な提案を提供します。 WLAN 拡張モジュールが停止しました。 WLAN 拡張モジュールが Windows コンピュータで動作を停止した場合は、次の提案に従って修正してください。 ネットワークとインターネットのトラブルシューティング ツールを実行して、ワイヤレス ネットワーク接続を無効にし、再度有効にします。 WLAN 自動構成サービスを再起動します。 電源オプションを変更します。 変更します。詳細な電源設定 ネットワーク アダプター ドライバーを再インストールする いくつかのネットワーク コマンドを実行する それでは、詳しく見てみましょう

win11のDNSサーバーエラーの解決方法 win11のDNSサーバーエラーの解決方法 Jan 10, 2024 pm 09:02 PM

インターネットにアクセスするには、インターネットに接続するときに正しい DNS を使用する必要があります。同様に、間違った DNS 設定を使用すると、DNS サーバー エラーが発生しますが、このときは、ネットワーク設定で DNS を自動的に取得するように選択することで問題を解決できます。ソリューション。 win11 ネットワーク dns サーバー エラーを解決する方法. 方法 1: DNS をリセットする 1. まず、タスクバーの [スタート] をクリックして入力し、[設定] アイコン ボタンを見つけてクリックします。 2. 次に、左側の列の「ネットワークとインターネット」オプションコマンドをクリックします。 3. 次に、右側で「イーサネット」オプションを見つけ、クリックして入力します。 4. その後、DNSサーバーの割り当ての「編集」をクリックし、最後にDNSを「自動(D)」に設定します。

ChatGPT では、無料ユーザーが 1 日あたりの制限付きで DALL-E 3 を使用して画像を生成できるようになりました ChatGPT では、無料ユーザーが 1 日あたりの制限付きで DALL-E 3 を使用して画像を生成できるようになりました Aug 09, 2024 pm 09:37 PM

DALL-E 3は、前モデルより大幅に改良されたモデルとして2023年9月に正式導入されました。これは、複雑な詳細を含む画像を作成できる、これまでで最高の AI 画像ジェネレーターの 1 つと考えられています。ただし、発売当初は対象外でした

Windows 10 の右下に地球が表示されてインターネットにアクセスできない場合はどうすればよいですか? Win10 で地球がインターネットにアクセスできない問題のさまざまな解決策 Windows 10 の右下に地球が表示されてインターネットにアクセスできない場合はどうすればよいですか? Win10 で地球がインターネットにアクセスできない問題のさまざまな解決策 Feb 29, 2024 am 09:52 AM

この記事では、Win10のシステムネットワーク上に地球儀マークが表示されるがインターネットにアクセスできない問題の解決策を紹介します。この記事では、地球がインターネットにアクセスできないことを示す Win10 ネットワークの問題を読者が解決するのに役立つ詳細な手順を説明します。方法 1: 直接再起動する まず、ネットワーク ケーブルが正しく接続されていないこと、ブロードバンドが滞っていないかを確認します。ルーターまたは光モデムが停止している可能性があります。この場合は、ルーターまたは光モデムを再起動する必要があります。コンピュータ上で重要な作業が行われていない場合は、コンピュータを直接再起動できます。ほとんどの軽微な問題は、コンピュータを再起動することですぐに解決できます。ブロードバンドが滞っておらず、ネットワークが正常であると判断される場合は、別の問題です。方法 2: 1. [Win]キーを押すか、左下の[スタートメニュー]をクリックし、表示されるメニュー項目の電源ボタンの上にある歯車アイコンをクリックし、[設定]をクリックします。

ネットワーク接続を確認してください: lol はサーバーに接続できません ネットワーク接続を確認してください: lol はサーバーに接続できません Feb 19, 2024 pm 12:10 PM

LOL サーバーに接続できません。ネットワークを確認してください。 近年、オンラインゲームは多くの人にとって日常的な娯楽となっています。中でも、リーグ オブ レジェンド (LOL) は非常に人気のあるマルチプレイヤー オンライン ゲームであり、数億人のプレイヤーの参加と関心を集めています。ただし、LOL をプレイしているときに、「サーバーに接続できません。ネットワークを確認してください」というエラー メッセージが表示されることがあります。これは間違いなくプレイヤーに何らかの問題をもたらします。次に、このエラーの原因と解決策について説明します。まず、LOLがサーバーに接続できない問題として考えられるのは、

ネットワークが Wi-Fi に接続できない場合は何が起こっているのでしょうか? ネットワークが Wi-Fi に接続できない場合は何が起こっているのでしょうか? Apr 03, 2024 pm 12:11 PM

1. Wi-Fi パスワードを確認します。入力した Wi-Fi パスワードが正しいことを確認し、大文字と小文字の区別に注意してください。 2. Wi-Fi が適切に動作しているかどうかを確認する: Wi-Fi ルーターが正常に動作しているかどうかを確認し、同じルーターに他のデバイスを接続して、デバイスに問題があるかどうかを判断できます。 3. デバイスとルーターを再起動します。デバイスまたはルーターに誤動作やネットワークの問題が発生する場合があり、デバイスとルーターを再起動すると問題が解決する場合があります。 4. デバイスの設定を確認します。デバイスのワイヤレス機能がオンになっていて、Wi-Fi 機能が無効になっていないことを確認します。

ICLR'24 写真なしの新しいアイデア! LaneSegNet: 車線セグメンテーション認識に基づく地図学習 ICLR'24 写真なしの新しいアイデア! LaneSegNet: 車線セグメンテーション認識に基づく地図学習 Jan 19, 2024 am 11:12 AM

上記および自動運転システムの下流アプリケーションの重要な情報としての地図に関する著者の個人的な理解は、通常、車線またはセンターラインで表されます。ただし、既存の地図学習の文献は主に、車線の幾何学ベースのトポロジ関係の検出や中心線の感知に焦点を当てています。どちらの方法も、車線と中心線の間の固有の関係、つまり、車線が中心線を結合する関係を無視します。 1 つのモデルで 2 種類の車線を単純に予測することは学習目的において相互に排他的ですが、本論文では、幾何学的情報と位相情報をシームレスに組み合わせる新しい表現として車線セグメントを提案し、LaneSegNet を提案します。これは、車線セグメントを生成して道路構造の完全な表現を取得する最初のエンドツーエンド マッピング ネットワークです。 LaneSegNet には 2 つのレベルがあります

Windows 10 Home Editionのパブリックネットワークがプライベートネットワークに変更されました Windows 10 Home Editionのパブリックネットワークがプライベートネットワークに変更されました Feb 12, 2024 pm 10:27 PM

私たちのコンピュータを使用するには、いくつかのハードウェアに加えて、安定したネットワークに接続する必要があります。多くの友人は、コンピュータ内のネットワークがパブリック ネットワークとプライベート ネットワークに分かれていることを発見しました。多くの人がその方法に興味を持っています。パブリック ネットワークをプライベート ネットワークに変換します。 Win10 Home Edition のパブリック ネットワークがプライベート ネットワークに変更される 1. 詳細共有センターの詳細設定 1. まず、Win+R ショートカット キーの組み合わせを直接押して実行ポップアップ ウィンドウを呼び出し、ここで「コントロール パネル」と入力します。をクリックし、「OK」をクリックしてコントロール パネルを開きます。 2. 次に、「ネットワークとインターネット」-「ネットワークと共有センター」-「詳細な共有設定の変更」を選択します。 3. 次に、より高度な共有設定インターフェイスで専用のオプションをクリックし、[有効にする] チェックボックスをオンにします。

See all articles