今天用了以下eWebEditor,根據網上一篇文章改了一下.因為怕被黑啊,網上都有eWebEditor漏洞的攻擊方法,所以得改改,怕怕!
第一步:下載eWebEditor2.8 修正版
下載地址http://ewebeditor.webasp.net/download.asp
解壓放到項目文件目錄下. 為了方便使用我把文件改名為ewebeditor
第二步:修改相關調用到編輯器的ASP文件
第三步:修改eWebEditor編輯器
1,使之支持插入分頁符
打開eWebEditor/db/ewebeditor.mdb =>
打開eWebEditor_Button表=>
在倒數的21行
B_Title 字段的值為”顯示或隱藏指導方針”修改為”插入系統分頁符”
B_Event 字段的值為” showBorders()”修改為” insert('SplitPage')”
打開 WebEditor/Include/Editor.js
在777行之前插入
case "SplitPage": // 插入分頁符
insertHTML("
");
break;
2,修改編輯器上傳文件的保存路徑
打開eWebEditor_Style表
找到你使用的樣式所在的行,我用的是s_newssystem 修改 S_UploadDir 字段的值
我是改成..../UpLoadFiles/
這樣我用編輯器上傳的圖片等都會在根目錄的UpLoadFiles文件夾下.
第四步:編輯器的安全性
1、先用admin登錄到后臺,修改密碼,然后刪除admin_login.asp文件,如果不需要上傳的話,最好連upload.asp也一起刪除掉。
2、刪除Manage/ Library/ ewebeditor文件夾下所有以Admin_開頭的文件.
刪除Admin文件夾(里面是對我們無用的圖片),刪除Example 文件夾(eWebEditor示例).
以下是我的個人總結,只代表個人觀點
1.修改eWebEditor的數據庫名字.
2.刪除eWebEditor后臺管理文件
3.修改Upload.asp文件
在Upload.asp文件里面,找到這句話sAllowExt = Replace(UCase(sAllowExt), "ASP", "")
把這句話替換為
Do While InStr(sAllowExt, "ASP") or InStr(sAllowExt, "CER") or InStr(sAllowExt, "ASA") or InStr(sAllowExt, "CDX") or InStr(sAllowExt, "HTR")
sAllowExt = Replace(sAllowExt, "ASP", "")
sAllowExt = Replace(sAllowExt, "CER", "")
sAllowExt = Replace(sAllowExt, "ASA", "")
sAllowExt = Replace(sAllowExt, "CDX", "")
sAllowExt = Replace(sAllowExt, "HTR", "")
sAllowExt = Replace(sAllowExt, "CGI", "")
sAllowExt = Replace(sAllowExt, "ASPX", "")'
sAllowExt = Replace(sAllowExt, "ASP .JPG", "")
sAllowExt = Replace(sAllowExt, "CER .JPG", "")
sAllowExt = Replace(sAllowExt, "ASA .JPG", "")
sAllowExt = Replace(sAllowExt, "CDX .JPG", "")
sAllowExt = Replace(sAllowExt, "HTR .JPG", "")
sAllowExt = Replace(sAllowExt, "CGI .JPG", "")
sAllowExt = Replace(sAllowExt, "ASPX .JPG", "")
Loop
EWebEditor漏洞改進方法:
1.在EWebEditor中加入IP控制
<%
''建立連接
dim conn,connstr
connstr="driver={sql server};server=.;uid=yst06;pwd=yst06;database=yst06"
set conn=Server.Createobject("ADODB.Connection")
conn.open connstr
''***************************************************
''功能:實現字符長度的控制
''參數:cutstr
''***************************************************
function cutstr(tempstr,tempwid)
if len(tempstr)>tempwid then
cutstr=left(tempstr,tempwid)&"..."
else
cutstr=tempstr
end if
end function
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then
userip = Request.ServerVariables("REMOTE_ADDR")
end if
userip=cstr(userip)
''Response.write userip&"
"
''Response.write Instr(userip,"*")-2
''Response.End()
''ip="210.29.168.123"
''Response.write Instr(ip,"*")
''Response.end()
set rs=server.createobject("adodb.recordset")
sql="select * from IP where state=1"
rs.open sql,conn,1,1
do while not rs.eof
TrustIp = Trim(Rs("IP"))
if Instr(TrustIp,"*")=0 then
if TrustIp = userip then
UserIpTrusted = True
exit do
else
rs.movenext
end if
else
Position=Instr(TrustIp,"*")-2
if left(TrustIp,Position) = left(userip,Position) then
UserIpTrusted = True
exit do
else
rs.movenext
end if
end if
loop
if UserIpTrusted = False then
Response.write ""
end if
%>
2.更改EWebEditor文件夾名稱
比較麻煩,尚未實現
3.修改EWebEditor管理后臺(用戶名/密碼/允許文件上傳類型)
4.修改EWebEditor中文件過濾類型asp,cer,cdx,htr,stm,asa(Upload.asp)
'' 任何情況下都不允許上傳asp,CER,ASA,CDX,HTR,stm腳本文件
sAllowExt = Replace(Replace(Replace(Replace(Replace(Replace(UCase(sAllowExt), "ASP", "**"), "CER", "**"), "ASA", "**"), "CDX", "**"), "HTR", "**"),"stm","**")(這個不建議,還是用上面其它人寫的過濾代碼吧)
5.修改EWebEditor的數據庫路徑,并在Include/Startup.asp中更改連接語句。