-1

基本的に、数日前、私のWebサイトクライアントの1人が私のところに来て、データベースとWebサイトがハッキングされ(ハッカーがデータベースからmd5ハッシュパスワードを盗んだ)、管理パネルにログインし、データを変更したと言いました. hashそうですね、そのページを作成したのは 1 年半前なので、そのときはソルトもよくわかりませんでした。とにかく、彼らはどのようにデータベースをハッキングしますか? 基本的に、それに対する保護はありますか、それとも、読み込みを許可してはならない種類の JavaScript コードを使用していますか?

より保護された Web サイトを作成できるように、この質問について教えていただければ幸いです。

これは、そのサイトの以前のログイン コードです。リクエストごとに追加 -

  public function loginUser($username, $password) {
    if(isset($_POST['login'])) {
      if($username != '' && $password != '') {
        $sql = "SELECT * FROM `users` WHERE `username` = '".$username."' AND `password` = '".$password."'";
        $q = mysql_query($sql);
        $row = mysql_fetch_array($q);
        if(mysql_num_rows($q) > 0) {
          if($row['level'] == 'admin') {
            $_SESSION['user_level'] = 'admin';
          }
          else {
            $_SESSION['user_level'] = 'normal';
          }
          $_SESSION['logged_in'] = 1;
          header('location: account.php');
        } 
        else {
          header('location: error2.php');
          // Return to page and show error
        }
      }
      else {
        header('location: error1.php');
        // Show error, when people have empty fields entered
      }
    }
4

2 に答える 2

1

これ以上の情報がなければ明確に言うことはできませんが、最も可能性の高いケースは、アプリケーションがSQLインジェクションに対して脆弱であり、攻撃者がサイトにデータベースのコンテンツを表示させることを可能にしたことです。もう1つの可能性は、ディレクトリトラバーサル攻撃により、DBファイルを直接ダウンロードできるようになったことです。

MD5は今では完全に壊れているので(塩を使用するか、MD5でほとんど問題にならないかどうか)、残りは単純でした。

于 2012-04-12T14:07:59.237 に答える