SORU
1 Aralık 2008, PAZARTESİ


Nasıl&; Bobby Tablolar" quot; xkcd komik comic işten SQL enjeksiyon mu?

Bakıyorum sadece:

XKCD Strip (Kaynak: https://xkcd.com/327/)

Bu SQL ne yapar:

Robert'); DROP TABLE STUDENTS; --

' -- Her iki yorum için biliyorum, ama kelime DROP aynı hatta bir parçası olduğu için yorumladı değil mi?

CEVAP
1 Aralık 2008, PAZARTESİ


Öğrenciler masaya bırakır.

Okul program orijinal kodu muhtemelen gibi bir şey görünüyor

q = "INSERT INTO Students VALUES ('"   FNMName.Text   "', "   LName.Text   ")";

Bu bir sorgu içine metin girişi eklemek için naif bir yoldur, veçok kötügöreceğiniz gibi.,

İlk adı değerleri sonra, göbek adı metin kutusuFNMName.MetinRobert'); DROP TABLE STUDENTS; --) ve soyadı textboxLName.Metin(hadi Derper call) sorgu geri kalanı ile birleştirilmiş, sonuçta şu an aslındaiki sorgustatement terminator (noktalı virgül) ile ayrılmış. İkinci sorgu olmuşturenjekteilk içine. Kod veritabanında bu sorguyu yürütür, bu gibi görünecektir

INSERT INTO Students VALUES ('Robert'); DROP TABLE Students; --', 'Derper')

hangi, düz İngilizce, kabaca iki sorgu için bizimle iletişime geçiniz

Adı değeri olan Öğrenciler tabloya yeni bir kayıt eklemek'' . Robert

ve

Öğrenciler tabloyu silin

Her şey ikinci sorgu geçmişi marked as a comment: --', 'Derper')

Öğrencinin adı ' Bu bir yorum değil, 16 ** kapanış. Öğrencinin adı bir dize olduğundan, sözdizimsel varsayımsal sorguyu tamamlamak için gerekli. Enjeksiyon saldırıları sadece işSQL iyi SQL sorgu sonuçları enjekte ettiler(bu durumda çok göreceli olarak).

Düzenlenmişyinedan04'in zekice yorum . başına ^/sup>

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Joseph Herscher

    Joseph Hersc

    14 Mart 2007
  • Michael Lummio

    Michael Lumm

    25 Mayıs 2007
  • YouChewBu

    YouChewBu

    26 Ocak 2009