ASP İle Veritabanımızı Sql İnjectionlara Karşı Korumak



user warning: Table './mc_hanciorg/cache_form' is marked as crashed and last (automatic?) repair failed query: UPDATE cache_form SET data = 'a:21:{s:6:\"choice\";a:3:{s:5:\"#type\";s:6:\"radios\";s:14:\"#default_value\";i:-1;s:8:\"#options\";a:7:{i:0;s:35:\"Sitede var olan içerik ve yazılar\";i:1;s:38:\"Sitenin görsel tasarımı ve renkleri\";i:2;s:54:\"Ziyaretçinin siteye yazılar ekleyip yorumlayabilmesi\";i:3;s:46:\"Sitenin adresi ve arama motorunda listelenmesi\";i:4;s:73:\"İnsanların çok fazla ziyaret ediyor olması ve onlarla iletişim ağı\";i:5;s:44:\"Sitenin arkaplan yazılımı ve alt yapısı\";i:6;s:47:\"Ben farklı şeyler düşünüyorum yazacağım\";}}s:4:\"vote\";a:3:{s:5:\"#type\";s:6:\"submit\";s:6:\"#value\";s:6:\"Oy ver\";s:7:\"#submit\";a:1:{i:0;s:9:\"poll_vote\";}}s:5:\"#node\";O:8:\"stdClass\":37:{s:3:\"nid\";s:2:\"72\";s:4:\"type\";s:4:\"poll\";s:8:\"language\";s:2:\"tr\";s:3:\"uid\";s:1:\"1\";s:6:\"status\";s:1:\"1\";s:7:\"created\";s:10:\"1266655218\";s:7:\"changed\";s:10:\"1266655313\";s:7:\"comment\";s:1:\"2\";s:7:\"promote\";s:1:\"1\";s:8:\"moderate\";s:1:\"0\";s:6:\"sticky\";s:1:\"1\";s:4:\"tnid\";s:1:\"0\";s:9:\"translate\";s:1:\"0\";s:3:\"vid\";s:2:\"72\";s:12:\"revision_uid\";s:1:\"1\";s:5:\"title\";s:37:\"Web sitesinde hangisi daha önemlidir\";s:4:\"body\";s:0:\"\";s:6:\"teaser\";s:358:\"* Sitede var olan içerik ve yazılar\n* Sitenin görsel tasarımı ve renkleri\n* Ziyaretçinin siteye yazılar ekleyip yorumlayabilmesi\n* Sitenin adresi ve arama motorunda listelenmesi\n* İnsanların çok fazla ziyaret ediyor olması ve onlarla iletişim ağı\n* Sitenin arkaplan yazılımı ve alt yapısı\n* Ben farklı şeyler düşünüyorum yazacağım\n\";s:3:\"log\";s:0:\"\";s:18:\"revision_timestamp\";s:10:\"1266655313\";s:6:\"format\";s:1:\"0\";s:4:\"name\";s:5:\"hanci\";s:7:\"picture\";s:0:\"\";s:4:\"data\";s:120:\"a:3:{s:7:\"contact\";i:0;s:18:\"admin_compact_mode\";b:1;s:13:\"form_build_id\";s:37:\"form-5bb20dab86db6430977269d8df6a74bb\";}\";s:7:\"runtime\";s:1:\"0\";s:6:\"active\";s:1:\"1\";s:6:\"choice\";a:7:{i:0;a:3:{s:6:\"chtext\";s:35:\"Sitede var olan içerik ve yazılar\";s:7:\"chvotes\";s:4:\"4925\";s:7:\"chorder\";s:1:\"0\";}i:1;a:3:{s:6:\"chtext\";s:38:\"Sitenin görsel tasarımı ve renkleri\";s:7:\"chvotes\";s:3:\"305\";s:7:\"chorder\";s:1:\"1\";}i:2;a:3:{s:6:\"chtext\";s:54:\"Ziyaretçinin siteye yazılar ekleyip yorumlayabilmesi\";s:7:\"chvotes\";s:3:\"210\";s:7:\"chorder\";s:1:\"2\";}i:3;a:3:{s:6:\"chtext\";s:46:\"Sitenin adresi ve arama motorunda listelenmesi\";s:7:\"chvotes\";s:3:\"182\";s:7:\"chorder\";s:1:\"3\";}i:4;a:3:{s:6:\"chtext\";s:73:\"İnsanların çok fazla ziyaret ediyor olması ve onlarla iletişim ağı\";s:7:\"chvotes\";s:3:\"215\";s:7:\"chorder\";s:1:\"4\";}i:5;a:3:{s:6:\"chtext\";s:44:\"Sitenin arkaplan yazılımı ve alt yapısı\";s:7:\"chvotes\";s:3:\"206\";s:7:\"chorder\";s:1:\"5\";}i:6;a:3:{s:6:\"chtext\";s:47:\"Ben farklı şeyler düşünüyorum yazacağım\";s:7:\"chvotes\";s:3:\"412\";s:7:\"chorder\";s:1:\"6\";}}s:10:\"allowvotes\";b:1;s:4:\"vote\";i:-1;s:4:\"path\";s:47:\"anket/web-sitesinde-hangisi-daha-onemlidir.html\";s:22:\"last_comment_timestamp\";s:10:\"1266655218\";s:17:\"last_comment_name\";s:0:\"\";s:13:\"comment_count\";s:1:\"0\";s:8:\"taxonomy\";a:0:{}s:5:\"files\";a:0:{}s:8:\"readmore\";b:0;s:5:\"links\";a:3:{s:11:\"comment_add\";a:4:{s:5:\"title\";s:15:\"Yeni yorum ekle\";s:4:\"href\";s:16:\"comment/reply/72\";s:10:\"attributes\";a:1:{s:5:\"title\";s:31:\"Bu sayfaya yeni bir yorum ekle.\";}s:8:\"fragment\";s:12:\"comment-form\";}i:0;a:3:{s:5:\"title\";s:13:\"Eski anketler\";s:4:\"href\";s:4:\"poll\";s:10:\"attributes\";a:1:{s:5:\"title\";s:43:\"Sitedeki anketlerin listesini görüntüle.\";}}i:1;a:3:{s:5:\"title\";s:9:\"Sonuçlar\";s:4:\"href\";s:15:\"node/72/results\";s:10:\"attributes\";a:1:{s:5:\"title\";s:28:\"Güncel anketi görüntüle.\";}}}}s:6:\"#block\";b:1;s:6:\"#cache\";b:1;s:6:\"#theme\";s:9:\"poll_vote\";s:11:\"#parameters\";a:4:{i:0;s:16:\"poll_view_voting\";i:1;a:3:{s:7:\"storage\";N;s:9:\"submitted\";b:0;s:4:\"post\";a:0:{}}i:2;r:18;i:3;b:1;}s:9:\"#build_id\";s:37:\"form-9cc480d2cd08b0c481fa400b2c9c760d\";s:5:\"#type\";s:4:\"form\";s:11:\"#programmed\";b:0;s:13:\"form_build_id\";a:4:{s:5:\"#type\";s:6:\"hidden\";s:6:\"#value\";s:37:\"form-9cc480d2cd08b0c481fa400b2c9c760d\";s:3:\"#id\";s:37:\"form-9cc480d2cd08b0c481fa400b2c9c760d\";s:5:\"#name\";s:13:\"form_build_id\";}s:7:\"form_id\";a:3:{s:5:\"#type\";s:6:\"hidden\";s:6:\"#value\";s:16:\"poll_view_voting\";s:3:\"#id\";s:21:\"edit-poll-view-voting\";}s:3:\"#id\";s:16:\"poll-view-voting\";s:12:\"#description\";N;s:11:\"#attributes\";a:0:{}s:9:\"#required\";b:0;s:5:\"#tree\";b:0;s:8:\"#parents\";a:0:{}s:7:\"#method\";s:4:\"post\";s:7:\"#action\";s:73:\"/asp-dersleri/asp-ile-veritabanimizi-sql-injectionlara-karsi-korumak.html\";s:9:\"#validate\";a:1:{i:0;s:25:\"poll_view_voting_validate\";}}', created = 1558283091, expire = 1558304691, headers = '', serialized = 1 WHERE cid = 'form_form-9cc480d2cd08b0c481fa400b2c9c760d' in /home/hanci/domains/hanci.org/private_html/includes/cache.inc on line 112.

Evet arkadaşlar bildiğiniz
üzere son zamanlarda basit bir yanıltma ile veritabanına sızma
işlemleri çok büyük ölçüde arttı ve malesef bir çok site henüz bu
açıkları kapatmış veya önlem almış değil.şimdi size en basit açıktan
komplexe dogru ayrıntılı şekilde alınacak önlemleri anlatacağım..

1.Örnek

kullanıcı form alanına Kod Alanı: or a=a bu yazıyı girerse bunun anlamı şudur..

sql cümlesine bakacak olursak :

Kod Alanı:select count(* ) from tablo where user=Arhan and userPass=
or a=a

veritabanında tablo adlı tablodan user sütunu Arhan olan userpass
sütunu boşluk olan veya her halikarda a=a ya eşit olacagı bir deger
çağırır.ve kullanıcı kolaylıkla oturum acabilir..Ne Kadar Kolay Değilmi?

Şimdi Gelin bu açığı kapatalım..

evet arkadaslar...Formumuzun postlayacağı sayfa session.asp olsun
simdi db connectionları ve rsleri kurdugunuzu farzedip gerekli kodlamaya
geçecegim..

ilk önce.. Formdan Gelen Verilere Değişken atıyoruz..

Kod Alanı:user =server.htmlencode(Request.Form("user" ) )----->formdaki textfield valuesunun user oldugundan emin olun..
Kod Alanı:pwd =server.htmlencode(Request.Form("pwd" ) ) ------>formdaki textfield valuesunun pwd oldugundan emin olun..
geliyoruz kilit ifadeye:

Kod Alanı:<% if instr (pwd,"" ) > 0 or instr (pwd,"=" )>0 then response.redirect "nodoor.asp" end if %>
<% if instr (user,"" ) > 0 or instr (user,"=" )>0 then response.redirect "nodoor.asp" end if %>

ve kilit ifadede her 2 form alanından gelecek muhtemel açığı kapatmış olduk..kilit ifadenin anlamı şudur:

Eğer pwd    içeriyorsa veya pwd = içeriyorsa sayfayı nodoor.asp ye yönlendir...

aynı durumu 2.ifade içinde uyarlayabilirsiniz..

bu dersin amacı tamamiyle güvenliği sağlamak içindir..lütfen bu açığı kapatmayan arkadaşlar bir an önce kapatsın..

Yeni yorum gönder

Bu alanın içeriği gizli tutulacak ve açıkta gösterilmeyecektir.
CAPTCHA
Aşağıdaki resimde yer alan karakterleri kutucuğa doğru olarak yazınız
Image CAPTCHA
Enter the characters shown in the image.

Anket

Web sitesinde hangisi daha önemlidir: