SQL injection nini na hufanya kazi gani??

SQL Injection -

SQL Injection - Maelezo ya Msingi

SQL Injection ni nini?

SQL injection ni mbinu ya kuingiza msimbo ambayo inaweza kuharibu hifadhidata yako.

Ni moja kati ya mbinu za kuvunja mitandao zinazotumika sana.na greenhacker au MR.TEACH je inafanya je?? endelea

Inafanyikaje?

SQL injection hutokea wakati mshambuliazi anaweza kuingiza amri za SQL zenye uharibu kwenye uga wa maingizo:

SELECT * FROM watumiaji WHERE jina = '[maingizo_ya_mtumiaji]' AND nenosiri = '[maingizo_ya_mtumiaji]';

Kama programu haitakosi maingizo, mshambuliazi anaweza kuandika:

' OR '1'='1

Na kufanya swali kuwa:

SELECT * FROM watumiaji WHERE jina = '' OR '1'='1' AND nenosiri = '' OR '1'='1';

Hii itarudisha watumiaji wote kwa sababu '1'='1' daima ni kweli.

Onyo!

SQL injection inaweza kusababisha:

  • Upatikanaji wa data bila idhini
  • Ufutaji wa data
  • Kuchukuliwa kwa hifadhidata

Njia za Kuzuia

  1. Tumia Kauli Zilizoandaliwa: Maswali yenye vigezo hutenganisha msimbo wa SQL na data
  2. Uthibitishaji wa Maingizo: Tumia orodha ya nchi herufi zinaruhusiwa
  3. Haki ndogo zaidi: Watumiaji wa hifadhidata wanapaswa kuwa na ruhusa ndogo zaidi zinazohitajika
  4. Mifumo ya ORM: Tumia zana zinazoshughulikia SQL kwa usalama
  5. Sasisho la Mara kwa Mara: Weka programu ya hifadhidata sasa kila wakati

Mfano wa Msimbo Salama (PHP)


// ISIVYO SALAMA:

$swali = "SELECT * FROM watumiaji WHERE jina = '$jina'";

// SALAMA kwa kutumia kauli zilizoandaliwa:

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

$stmt->execute(['jina' => $jina]);

    

Kumbuka: Kamwe usiamini maingizo ya mtumiaji!

Post a Comment

0 Comments