今天用了以下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中更改连接语句。