商用レベルの Fortify ホワイト ボックス アーティファクトの導入と使用分析
1. Fortify とは何ですか?何ができるのですか?
答え: fottify の正式名は: Fortify SCA で、HP の製品です。これは静的なホワイトボックス ソフトウェア ソース コード セキュリティ テスト ツールです。データ フロー、セマンティクス、構造、制御フロー、構成フローなどの 5 つの主要な組み込み分析エンジンを通じて、アプリケーション ソフトウェアのソース コードを静的に分析します。分析プロセス中に、独自のソフトウェア セキュリティ脆弱性ルール セットと包括的に照合します。 、ソース コードに存在するセキュリティの脆弱性をスキャンし、レポートを提供するために検索します。
2. スキャンは何ヶ国語をサポートしていますか?
答え: FortifySCA でサポートされている 21 言語は次のとおりです:
1. asp.net 2. VB.Net 3. c#.Net 4. ASP 5. VBscript 6. VS6 7.java 8.JSP 9.javascript 10. HTML 11. XML 12. C/C++ 13.PHP 14.T-SQL 15.PL/SQL 16. Action script 17. Object-C (iphone-2012/5) 18. ColdFusion5.0 - 选购 19. python -选购 20. COBOL - 选购 21.SAP-ABAP -选购
3. 無料ですか?
答え: いいえ、料金がかかります。もちろん、インターネットには亀裂はありません。月々10万も請求されているようです。
4. 使い方は?
Fortify をインストールした後、
インターフェース:
高度なスキャンを選択します
彼は更新したいかどうか尋ねました? 私は個人的なものなので、2015 年 7 月に 1 か月の試用期間付きで購入したので、[いいえ] を選択しました。 アップデート後は使えなくなると思います。購入する場合は「はい」を選択してください。
選択後、次のインターフェースが表示されます。
参照とは、スキャン後の保存結果が保存されるパスを意味します。
次に、「次へ」をクリックします。
パラメータの説明:
enable clean :把上一次的扫描结果清楚,除非换一个build ID,不然中间文件可能对下一次扫描产生影响。enable translation: 转换,把源码代码转换成nst文件-64: 是扫描64位的模式,sca默认扫描是32位模式。-Xmx4000m:4000M大概是4G,制定内存数-Xmx4G :也可以用G定义这个参数建议加-encoding: 定制编码,UTF-8比较全,工具解析代码的时候指定字符集转换的比较好,建议加,如果中文注释不加会是乱码。-diable-source-:rendering:不加载与漏洞无关的代码到审计平台上,不建议加,这样代码显示不全。
次に「次へ」をクリックします
次のように表示されます: これは J2EE Web アプリケーションです
「いいえ」を選択します (PHP をスキャンしているため)
次にスキャン (スキャンを開始します)
常にバックグラウンドで実行 意味: 常にバックグラウンドで実行
バックグラウンドで実行 意味: バックグラウンドで実行
キャンセル 意味: キャンセル
詳細 意味: 詳細
スキャン後:
なしは他の 1 つを表します
A1 挿入 7
A3 xss 37
A4 35 安全でない直接オブジェクト参照
A6 機密データ4 回公開
A10 未検証のリダイレクトと転送 2 回
英語で見つかった場合は、次のように中国語に変更したいと思います:
以下は公式 Web サイトが提供する分析チャートです。
脆弱性の分析:
なし 脆弱性:
これは可変変数であり、中国語では「可変範囲」と呼ばれます。
この脆弱性の原理について話しましょう:
Variable 変数
$first ="hello";$hello ="world";echo $first." ".$$first;
結果は hello world です
$$first は $hello,なぜなら $ first の値は hello
——————————しかし foreach では異なります————————————————————
<?php$a = 'sss';foreach ($_GET as $key => $value) { //如果在foreach那就不一样了 echo $$key; //将$$区分开 然后$key 等于键 然后开始合并 比如打开http://www.com.com/demo.php?a=值 就变成了$a 因为$key的键是a 所以就变成了$a $$key = $value;//$a = 值 替换变量 }echo '<hr '>';echo $a;?>
A1 インジェクションの脆弱性:
$c 変数がクライアントによって制御されていることが判明しましたGETリクエストを行っています。
safe_replace 関数は次の文字をフィルタリングします:
function safe_replace($string) {$string = str_replace('%20','',$string);$string = str_replace('%27','',$string);$string = str_replace('%2527','',$string);$string = str_replace('*','',$string);$string = str_replace('"','"',$string);$string = str_replace("'",'',$string);$string = str_replace('"','',$string);$string = str_replace(';','',$string);$string = str_replace('<','<',$string);$string = str_replace('>','>',$string);$string = str_replace("{",'',$string);$string = str_replace('}','',$string);$string = str_replace('//','',$string);return $string;}
include $c.".php"; ただし、最後に結合された .php があります。
ただし、PHP バージョンが 5.3.40 未満の場合は、%00 のバイナリ表現である null バイトを文字列の末尾として使用できます。他の説明によれば、それは切り詰められます。 。 。 。 。
A3 xss 脆弱性
$field_sql="update ".DB_PRE."member set {$field_sql} where userid={$last_id}";$query=$this->mysql->query($field_sql);
データベースへの書き込みには制限がありません、またはデータベースへの書き込み時に何も行われません出力 フィルタリングは直接出力するため、XSS が発生します。 (一つ一つ説明はしません)
A4 安全でない直接オブジェクト参照の脆弱性
ファイルアップロード数の管理に失敗しました。それは攻撃につながる可能性があります。
A6 機密データ漏洩の脆弱性:
A10 認証されていないリダイレクトおよび転送の脆弱性:
ここでは触れませんPHP をある程度知っている人なら誰でも理解できるでしょう。 。
これで基本的にすべてのプロセスは終了しましたが、メモリを設定するときにメモリを設定しないと、自動的に設定されることを皆さんに思い出していただきたいと思います。コンピュータのメモリは 8G です。自動的に 8G に設定され、メモリの 8G が占有されるため、コンピュータの動作が遅くなります。次回スキャンする前に必ずメモリを設定してください。コンピュータに 8G のメモリがある場合は、1G 残っている場合は 4399 個のミニ ゲームをプレイできます。 ~_~
* 寄稿 著者: Xindong、 FreeBuf Hackers and Geeks (FreeBuf.COM) から転載

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

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

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。
