Avatar billede lazeric Nybegynder
10. februar 2006 - 23:49 Der er 9 kommentarer og
1 løsning

Sikkerhed ved gæstebøger osv

Hej
Nu her midt i Muhammed krisen kan jeg se at der er en masse Tyrkere og Marrokanere osv som forsøger at komme ind igennem min gæstebog et par gange og igår lykkedes det så endeligt. Alt blev slettet på serveren.

Hvad kan jeg gøre fore at sikre mig at det ikke sker igen når jeg smider backup'en ud på serveren igen?
Avatar billede erikjacobsen Ekspert
11. februar 2006 - 00:45 #1
Det er typisk dårlig programmering, eller dårlige passwords. Og det kan vel også ske at en udbyder har et sikkerhedsmæssigt dårligt system. Men de 2 første kan du gøre noget ved.
Avatar billede Six Nybegynder
11. februar 2006 - 02:12 #2
Kan du se hvilken metode de har brugt til at komme ind? hvis det er bruteforce på dine passforms, kan du jo banne et ip efter 2 fejllogins... Så skal de skaffe sige rigelige mængder proxyservere ;D Jeg siger ikke de sikrer det mere end det er, det gør det bare sværere at bruteforce... vil jeg tro :D
Avatar billede lazeric Nybegynder
11. februar 2006 - 11:06 #3
Nej jeg kan desværre ikke se hvordan de er er kommet ind.
Måske i kan komme med idéer til at gøre koden mere sikker? Jeg er en rimelig slasket koder og det meste af nedenstående at faktisk lånt, så har jeg bare lige tilføjet lidt til at gemme IP og tjekke om IP tidligere er blacklisted:

<% if Request.QueryString("mode")="add" then %>
<form action="guestbook.asp?mode=post" method="POST">
<% response.write request.servervariables("REMOTE_ADDR") %>
</br> Your IP will be logged!
       
<h3>Name:</h3>
<input type="Text" class="miniboxleftindhold" name="navn">
<h3>Email:</h3>
<input type="Text" class="miniboxrightindhold" name="email">
<h3>Message:</h3>
<textarea class="innerbox" name="description" rows="3"></textarea>
<input type="submit" name="B1" value="Save" style="float: left; background: black; color: white; border: solid 1px;">
</form>
<%end if%>   

<% if Request.QueryString("mode")="FUCKYOU" then %>
<span style="font-size: 14px; color: red; font-weight: bold;">Your IP has been blacklisted! Now FUCK OFF!!!</span></p>
<%end if%>

<% if Request.QueryString("mode")="post" then %>

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("db/base.mdb")
strSQL = "SELECT * FROM ipblacklist ORDER BY id DESC;"
set rs = Conn.execute(strSQL)
Do While Not Rs.eof
%>

<%if request.servervariables("REMOTE_ADDR") = RS("ip") then
response.redirect "?mode=FUCKYOU"
end if%>

<%
RS.movenext
Loop

response.buffer = true

Const adOpenKeyset = 1
Const adLockOptimistic = 3

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/base.mdb") & ";UID=admin;PWD=;"

    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "Select * From gaestebog"
    rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic

      rs.AddNew
      rs("dato") = now()
      rs("ip") = request.servervariables("REMOTE_ADDR")
      rs("navn") = Request.form("navn")
      rs("email") = Request.form("email")     
      rs("description") = Request.form("description")
      rs.Update

    rs.Close
    Set rs = Nothing

Conn.Close
set Conn = Nothing
response.redirect "guestbook.asp"
%><%end if%>
Avatar billede erikjacobsen Ekspert
11. februar 2006 - 11:15 #4
"Jeg er en rimelig slasket koder"  -  så kunne du enten beskæftige dig med noget andet, eller acceptere at der kommer ubudne gæster ind.

I dit script ser det ud til at at din database er lige til at downloade, hvis man gætter navnet.

Ellers har du vel andre scripts. Læs artikler om sikker webprogrammering, fx her på eksperten.dk
Avatar billede lazeric Nybegynder
11. februar 2006 - 13:10 #5
Tak for dit enormt nedladende svar.
Jeg er en rimelig slasket koder fordi jeg ikke er god nok og gerne vil lære. Så kan jeg ikke bruge til nedladende svar "så kunne du enten beskæftige dig med noget andet, eller acceptere at der kommer ubudne gæster ind." til en skid.

Jeg ser frem til konstruktive bud på hvordan jeg kan gøre det bedre, ud over at lægge databasen et andet sted.
Avatar billede erikjacobsen Ekspert
11. februar 2006 - 13:12 #6
Det er vel realiteten. Sætter du dig ikke ind i sikkerhed, kan du ikke gøre det bedre. Undskyld jeg siger sandheden. Dertil får du eet vink, omkring databasen, og du får at vide at der findes artikler om webprogrammering og sikkerhed her på eksperten. Det er da konstruktivt, ikke ;)
Avatar billede lazeric Nybegynder
11. februar 2006 - 13:26 #7
Ok, men lige hurtigt... ud fra mit script, er der andet du ser galt end det med databasen?
Avatar billede erikjacobsen Ekspert
11. februar 2006 - 13:47 #8
Nej, ikke umiddelbart. Men det er så meget andet. Er der Frontpage Extensions på, har du andre scripts, har du upload af billeder? Der er så mange steder, der kan være et lille hul.
Avatar billede lazeric Nybegynder
11. februar 2006 - 13:55 #9
ok. så vil jeg gå i krig med at læse :-)
Avatar billede lazeric Nybegynder
25. september 2006 - 19:48 #10
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester