Çok basic Bir SQL Auth Hileleriniz için

kiz

Banned
Katılım
18 Ağu 2024
Mesajlar
326
Beğeniler
82
Yaş
25
Merhaba aşırı basic bir auth ile geldim
O kadar basic ki Passwordu bile
databaseye hashlamadan koyuyor


Database adını değiştirdikten sonra kullanabilirsiniz

Gerekli NuGet Paketleri
MySql.Data

Kod:
C#:
using MySql.Data.MySqlClient;
using System;

class Program
{                                                      //ALTTA GÖRDÜĞÜN YERE DATABASE ADI
                                                       //        |     |
    static string connectionString = "Server=127.0.0.1; Database=authdbs; Uid=root; Pwd=;";

    static void Main(string[] args)
    {
        Console.WriteLine("1. Giriş Yap\n2. Kayıt Ol");
        string choice = Console.ReadLine();

        if (choice == "1")
        {
            Console.WriteLine("Kullanıcı Adınızı Girin:");
            string username = Console.ReadLine();

            Console.WriteLine("Şifrenizi Girin:");
            string password = Console.ReadLine();

            if (AuthenticateUser(username, password))
            {
                Console.WriteLine("Giriş Başarılı!");
            }
            else
            {
                Console.WriteLine("Geçersiz kullanıcı adı veya şifre.");
            }
        }
        else if (choice == "2")
        {
            Console.WriteLine("Yeni Kullanıcı Adınızı Girin:");
            string username = Console.ReadLine();

            Console.WriteLine("Yeni Şifrenizi Girin:");
            string password = Console.ReadLine();

            if (RegisterUser(username, password))
            {
                Console.WriteLine("Kayıt başarılı! Giriş yapabilirsiniz.");
            }
            else
            {
                Console.WriteLine("Kullanıcı adı zaten mevcut.");
            }
        }
        else
        {
            Console.WriteLine("Geçersiz seçenek.");
        }
    }

    static bool AuthenticateUser(string username, string password)                                                                                                                                              //grhax
    {
        using (MySqlConnection conn = new MySqlConnection(connectionString))
        {
            try
            {
                conn.Open();

                string query = "SELECT Password FROM Users WHERE Username = @Username";
                using (MySqlCommand cmd = new MySqlCommand(query, conn))
                {
                    cmd.Parameters.AddWithValue("@Username", username);

                    var result = cmd.ExecuteScalar();

                    if (result != null)
                    {
                        string storedPassword = result.ToString();

                        if (password == storedPassword)
                        {
                            return true;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Hata: " + ex.Message);
            }
        }

        return false;
    }

    static bool RegisterUser(string username, string password)
    {
        using (MySqlConnection conn = new MySqlConnection(connectionString))
        {
            try
            {
                conn.Open();

                string checkQuery = "SELECT COUNT(*) FROM Users WHERE Username = @Username";
                using (MySqlCommand checkCmd = new MySqlCommand(checkQuery, conn))
                {
                    checkCmd.Parameters.AddWithValue("@Username", username);

                    int userCount = Convert.ToInt32(checkCmd.ExecuteScalar());

                    if (userCount > 0)
                    {
                        return false;
                    }
                }

                string insertQuery = "INSERT INTO Users (Username, Password) VALUES (@Username, @Password)";
                using (MySqlCommand insertCmd = new MySqlCommand(insertQuery, conn))
                {
                    insertCmd.Parameters.AddWithValue("@Username", username);
                    insertCmd.Parameters.AddWithValue("@Password", password);

                    int rowsAffected = insertCmd.ExecuteNonQuery();
                    return AuthenticateUser(username, password);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Hata: " + ex.Message);
                return false;
            }
        }
    }
}




İsteyenler için hash kodu (En alta ekleyebilirsiniz)
C#:
    static string HashPassword(string password)
    {
        using (SHA256 sha256 = SHA256.Create())
        {
            byte[] hashBytes = sha256.ComputeHash(Encoding.UTF8.GetBytes(password));
            return BitConverter.ToString(hashBytes).Replace("-", "").ToLower();
        }

 
Özele gelebilir misin ya da discord atar mısın
 

  Şuanda konuyu görüntüleyen kullanıcılar


Üst Alt