web-dev-qa-db-ja.com

オープンソースコードの脆弱性をチェックする方法

私はバグ報奨金プラットフォームのメンバーです。ハッカーが脆弱性を見つけるためにソースコードを利用できるようにするプログラムがいくつかあります。たとえば、PHP、JS、C++、またはRubyコード。

私は知りたいです

  • ハッカーがこれらのコードをサニタイズして理解するにはどうすればよいですか?
  • ハッカーはどのようにして脆弱性を見つけますか?
  • 必要なツール(脆弱性スキャナー以外)
1
iheb hamad

それは、バグを見つけようとしている目的に大きく依存します。そして、私はあなたに今言えることです1つのサイズがこれへのすべてのアプローチに適合することは決してありません。 OpenSSLなどのバグを見つけることは、一般に公開されているWebアプリケーションのバグを見つけることとはかなり異なります。

バグ報奨金プラットフォームといくつかのWebスクリプト言語(C++ではないかもしれません)について言及したので、プラットフォームは他の何よりも一般向けのWebアプリ/サイト向けであると思います。

私がウェブアプリをハッキングした経験では、ソースコードにアクセスできる場合、アクセスできない場合でも、最初に始めるのに最適なのは、外部のユーザーとして、このアプリを自分にとって有益な方法で失敗させるにはどうすればよいですか

アプリに送信できる入力と送信できない入力を調べ始めることができます。ソースコードにアクセスできる場合は、チートしてアプリがユーザー入力を処理する方法を確認できます。おそらく、アプリはmysqlクエリ文字列に入力を追加するだけです。それは報告する価値のあるバグでしょう。

もう1つの見どころは、アプリがコンテンツを提供する方法です。多くのWebアプリは、誤って設定されたApacheおよびnginxインスタンスを使用しますが、Webアプリがそれ自体を提供し、人々もそれを頻繁に誤設定します。

ツールに関する限り、一般的なWebアプリ(ワードプレスなど)を活用するためのいくつかの一般的なツールを見つけることができるかもしれませんが、概して、独自のツールを作成することになります。アプリの言語やフレームワークが単体テストをサポートしている場合は、いくつかを記述して、実行中のソースコードのインスタンスに対して実行することができます。

この投稿の主なポイントは、1つのサイズがこれに対するすべてのアプローチに適合することは決してないということです。そして、ハッカーになりたい場合はWebアプリのバグ報奨金、開始するのに最適な場所は、次のことを考えることです:外部ユーザーとして、私にとって有益な方法でこのアプリを失敗させるにはどうすればよいですか

6
Raz Varren