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

  • Abe Olandres

    Abe Olandres

    16 EYLÜL 2006
  • Kamikazeepanda

    Kamikazeepan

    5 ŞUBAT 2006
  • LIVESTRONG.COM

    LIVESTRONG.C

    5 EKİM 2005