sql injecton yardım
16
●1.083
- 29-06-2010, 13:13:59Bunu yapmanız için sql injecton açığı kapanmayı öğrenmelisiz.Bu bir kodun veri çek komutundan dolayı ve veri çekme yeri boş olduğundan sitenizin table ve user değerlerini görebiliyorlar.Bunun için admin panelinizi silin yada admin panelinizin adını değişip kaynak kodda göstermeyecek şekilde saklı tutun
- 30-06-2010, 00:21:53Pardon ama neyi mantıksız. En basit yönüyle böyle korunulabilir. Injection yaparken idde union select komutu kullanılıyor. E numeric olmadığına göre union select yazısı doğal olarak anasayfaya yönlendiricek.burakscan adlı üyeden alıntı: mesajı görüntüle
MD5'le ne alakası var pardon ama? Bilmeden yorum yaptığınız çok açık ortada.
İyi geceler, iyi çalışmalar. - 30-06-2010, 00:24:58Peki dediğiniz şey asp de de geçerlimidir?tolgasen adlı üyeden alıntı: mesajı görüntüle
peki tablolara ulaşırken user 1 admin olarak giriş yapılıyor ve mail yada user her ne ise md5 halinde gelip admin sayfasını bulup sadece md5 i girip geriye giriş yapmak kalmıyor mu??
Sizce bu yöntem mi daha kullanılır ve güvenilir yoksa admin panelini kaldırmak yada konuda belirttiğim gibi saklamak mı.Evet bu konuda belkide acemiyim.Siz söyleyin bizde ona göre oğrenelim.Pm de atabilirsiniz. - 30-06-2010, 00:30:14ASP veya bir başka dil farketmez. Mantık aynı. Normalde ID gelmesi gereken yere select komutu uygularsın ve injection yapmış olursunuz. ID normalde integerdir. Yani sayısal değer alır.burakscan adlı üyeden alıntı: mesajı görüntüle
Link: sayfa.asp?id=1 şeklindedir ve bu HayroLa arkadaşın verdiği kodla normal olarak çalışmasını devam ettirecektir. Çünkü 1 Numerictir. Injection yaparken link şu şekilde değişiecektir;
sayfa.asp?id=-1 union+select+0+from+admin gibi...
Kalın çizdiğim yerler numeric'e girmiyor. Arkadaşın verdiği kodda ID numeric değilse yönlensin diyor ve normal bir koruma yapıyor. En basitiyle bu şekilde korunulunabilir. Ama yok ben illa fonksiyon yazıcam öyle korunucam derseniz;
<%
Function inject(Str)
Str = Replace(Str, "*", "[YASAK]",1,-1,1)
Str = Replace(Str, "=", "[YASAK]",1,-1,1)
Str = Replace(Str, "<", "[YASAK]",1,-1,1)
Str = Replace(Str, ">", "[YASAK]",1,-1,1)
Str = Replace(Str, ";", "[YASAK]",1,-1,1)
Str = Replace(Str, "(", "[YASAK]",1,-1,1)
Str = Replace(Str, ")", "[YASAK]",1,-1,1)
Str = Replace(Str, "+", "[YASAK]",1,-1,1)
Str = Replace(Str, "#", "[YASAK]",1,-1,1)
Str = Replace(Str, "'", "[YASAK]", 1, -1, 1)
Str = Replace(Str, "&", "[YASAK]", 1, -1, 1)
Str = Replace(Str, "%", "[YASAK]", 1, -1, 1)
Str = Replace(Str, "?", "[YASAK]", 1, -1, 1)
Str = Replace(Str, "´", "[YASAK]", 1, -1, 1)
Str = Replace(Str, ",", "[YASAK]",1,-1,1)
Str = Replace(Str, "UNION", "[YASAK]",1,-1,1)
Str = Replace(Str, "SELECT", "[YASAK]",1,-1,1)
Str = Replace(Str, "WHERE", "[YASAK]",1,-1,1)
Str = Replace(Str, "LIKE", "[YASAK]",1,-1,1)
Str = Replace(Str, "FROM", "[YASAK]",1,-1,1)
Str = Replace(Str, "UPDATE", "[YASAK]",1,-1,1)
Str = Replace(Str, "INSERT", "[YASAK]",1,-1,1)
Str = Replace(Str, "ORDER", "[YASAK]",1,-1,1)
Str = Replace(Str, "GROUP", "[YASAK]",1,-1,1)
Str = Replace(Str, "ALTER", "[YASAK]",1,-1,1)
Str = Replace(Str, "ADD", "[YASAK]",1,-1,1)
Str = Replace(Str, "MODIFY", "[YASAK]",1,-1,1)
Str = Replace(Str, "RENAME", "[YASAK]",1,-1,1)
Str = Replace(Str, Chr(39), "[YASAK]", 1, -1, 1)
If InStr(1,Str,"[YASAK]",1) then
Response.Redirect "/Default.asp"
end if
inject = Str
End Function
%>
şeklinde fonksiyon oluşturur,
inject(Request.QueryString("id")) olarak veriyi çektiririz. Buda fonksiyonla koruma sağlar. - 30-06-2010, 00:53:18evet yazdığım mesaj Mantıksızburakscan adlı üyeden alıntı: mesajı görüntüle
Senin verdiğin cevap çok(very) mantıklı