Bilgisayar Güvenliği Bilgi Merkezi

bilgisayar,mail,web,site,şifre,network,güvenlik,hack,security,ddökümanları


Bağlı değilsiniz. Bağlanın ya da kayıt olun

ASP SQL Injection Engelleme

Önceki başlık Sonraki başlık Aşağa gitmek  Mesaj [1 sayfadaki 1 sayfası]

1ikon4 ASP SQL Injection Engelleme Bir C.tesi Kas. 07, 2009 2:34 pm

Admin

avatar
Admin
Asp Scriptlerde Hala Sql İnjection Açığı Çok Sık Rastlamaktayız.Bir Çok Kişi Tarafından Bilinen Uygulamalardır.

Diyelim ki verimizi Request.QueryString olarak olmaktayız ve yazdırmaktayız. Linkimizi haber.asp?id=500 olarak farzedelim. Burada veri çekerken programlamacı where id="&request.querystring("id")&"" diye veriyi çekmektedir. Fakat bu büyük bir SQL açığı oluşturmaktadır.

Kullanıcı grup bu linki haber.asp?id=500+union+select+0,kadi,2,3+from+uyel er gibi yazdığında kullanıcı adı ve şifresi ortaya çıkacaktır. Şimdi ise bunu önleyen fonksiyonumuzu yazalım.

Kod:
<%
 Function QueryFilter(Str)
Str = Replace(Str, "*", "[INJ]",1,-1,1)
Str = Replace(Str, "=", "[INJ]",1,-1,1)
Str = Replace(Str, "<", "[INJ]",1,-1,1)
Str = Replace(Str, ">", "[INJ]",1,-1,1)
Str = Replace(Str, ";", "[INJ]",1,-1,1)
Str = Replace(Str, "(", "[INJ]",1,-1,1)
Str = Replace(Str, ")", "[INJ]",1,-1,1)
Str = Replace(Str, "+", "[INJ]",1,-1,1)
Str = Replace(Str, "#", "[INJ]",1,-1,1)
Str = Replace(Str, "'", "[INJ]", 1, -1, 1)
Str = Replace(Str, "&", "[INJ]", 1, -1, 1)
Str = Replace(Str, "%", "[INJ]", 1, -1, 1)
Str = Replace(Str, "?", "[INJ]", 1, -1, 1)
Str = Replace(Str, "´", "[INJ]", 1, -1, 1)
Str = Replace(Str, ",", "[INJ]",1,-1,1)
Str = Replace(Str, "UNION", "[INJ]",1,-1,1)
Str = Replace(Str, "SELECT", "[INJ]",1,-1,1)
Str = Replace(Str, "WHERE", "[INJ]",1,-1,1)
Str = Replace(Str, "LIKE", "[INJ]",1,-1,1)
Str = Replace(Str, "FROM", "[INJ]",1,-1,1)
Str = Replace(Str, "UPDATE", "[INJ]",1,-1,1)
Str = Replace(Str, "INSERT", "[INJ]",1,-1,1)
Str = Replace(Str, "ORDER", "[INJ]",1,-1,1)
Str = Replace(Str, "GROUP", "[INJ]",1,-1,1)
Str = Replace(Str, "ALTER", "[INJ]",1,-1,1)
Str = Replace(Str, "ADD", "[INJ]",1,-1,1)
Str = Replace(Str, "MODIFY", "[INJ]",1,-1,1)
Str = Replace(Str, "RENAME", "[INJ]",1,-1,1)
Str = Replace(Str, Chr(39), "[INJ]", 1, -1, 1)
If InStr(1,Str,"[INJ]",1) then
Response.Redirect "Default.asp"
end if
QueryFilter = Str
End Function
%>

Kullanımı :
Kod:
<%
 id=QueryFilter(Request.QueryString("id"))
 %>
Böylece id değişkenine fonksiyonun uyarlanmış halini atamış olduk.

Veri çekerken yazacağımız şekli;
Kod:
 ....where id="&id&""
şeklinde yazarsak bütün tehlike ortadan kalkmakta ve kişi Default.asp sayfasına yönlenmektedir.


Teknik Destek : cixturk@amasyateknoloji.tk
[Resimleri görebilmek için üye olun veya giriş yapın.]
[Resimleri görebilmek için üye olun veya giriş yapın.]
[Resimleri görebilmek için üye olun veya giriş yapın.]
Kullanıcı profilini gör http://www.hacktebugun.com

Önceki başlık Sonraki başlık Sayfa başına dön  Mesaj [1 sayfadaki 1 sayfası]

Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz