通行证│用户名: 密码: 验证码: 验证码,看不清楚?请点击刷新验证码 电信网通铁通移动   在线
文章搜索:
热门搜索:红客 黑鹰 红客技术 安全动画 红客培训
首页 文章 软件 动画 资源 励志 论坛 邮箱 会员 军事 科技 博客 爱心红客 最近更新 800g资源
 业内新闻 漏洞公告 病毒公告 电脑知识 网络知识 菜鸟入门 攻防教程 黑客攻防 安全编程 工具使用 综合安全 个人安全 安全相关 Q Q安全 原创精华 红客人物 站内事件
您现在的位置: 爱国者安全网 >> 文章类 >> 红客教程 >> 菜鸟入门 >> 文章正文
L-BLOG重大安全漏洞的描述及补丁
责任编辑:admin   更新日期:2005-7-6
 
转自:http://www.918x.com

描述:
通过向BLOGEDIT.ASP文件传送数据,可以轻意操作对方数据库.修改\删除不在话下.

测试方法:
http://www.guoblog.com/attachments/month_0501/tqjx_2005116154542.RAR

说明:此工具是用来测试自己网站是否有此漏洞.下载此文件后,解压缩到你本地任何目录.用IE打开TESTPOST.HTM文件,按要求输入您自己的网站地址和日志ID提交即可,注意:操作前要备份自己的数据库.
严重警告:不得利用此文件攻击他人网站.
补丁:
一、禁止站外提交数据
打开blogedit.asp文件。找到”<!--include file="commend.asp"-->“
在后面加入:
<%
dim server_v1,server_v2
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(server_v1,8,len(server_v2))<>server_v2 then
response.write "<center><div style=border: 2px solid #CCC;padding:20px;margin=50px;width:450px;>你提交的路径有误,禁止从站点外部提交数据请不要乱该参数!</div></center>"
response.end
end if
%>

二、修改程序
由于大家使用的版本不同,修改程序可以参考我这里的,ACCESS版要做改动才可以使用。
打开BLOGEDIT。ASP文件,找到:
<%IF Request.Form("message")=Empty OR Request.Form("log_Title")=Empty Then
Response.Write("必须填写日志内容<br><a href=javascript:history.go(-1);>请返回重新填写</a>")
ElseIF Request.Form("blogdele")="1" Then
Conn.ExeCute("DELETE blog_Content WHERE log_ID="&Request.Form("log_ID"))
Conn.ExeCute("DELETE blog_Comment WHERE blog_ID="&Request.Form("log_ID"))
Conn.ExeCute("UPDATE blog_Member SET mem_PostLogs=mem_PostLogs-1 WHERE mem_Name="&Request.Form("log_Author")&"")
Conn.ExeCute("UPDATE blog_Info SET blog_LogNums=blog_LogNums-1")
SQLQueryNums=SQLQueryNums+4
Response.Write("<br><br>日志及相关留言删除成功<br><br><a href=default.asp>点击返回首页</a><br><br>")
Else
dim Log_Title,log_Content,log_From,log_FromURL,log_ID,log_Intro,log_DisSM,log_DisUBB,log_DisIMG,log_AutoURL,log_Modify,log_IsShow,log_AutoKEY,log_IsTop,log_DisComment,log_Weather,log_mode,log_mf
log_Title=CheckStr(Request.Form("log_Title"))
if len(log_Title)>50 then
log_Title=left(log_Title,47) & "..."
end if
log_Content=CheckStr(Request.Form("message"))
log_Intro=SplitLines(HtmlEncode(log_Content),4)
log_From=CheckStr(Request.Form("log_From"))
log_FromURL=Request.Form("log_FromURL")
log_ID=Request.Form("log_ID")
log_DisSM=Request.Form("log_DisSM")
log_DisUBB=Request.Form("log_DisUBB")
log_DisIMG=Request.Form("log_DisIMG")
log_AutoURL=Request.Form("log_AutoURL")
log_AutoKEY=Request.Form("log_AutoKEY")
log_Weather=Request.Form("log_Weather")
log_IsTop=Request.Form("log_IsTop")
log_IsShow=Request.Form("log_IsShow")
log_DisComment=Request.Form("log_DisComment")

log_mode=request.form("log_mode")
log_mf=request.form("post_MagicFace")
if log_mf=empty then log_mf=NULL

IF log_DisSM=Empty Then log_DisSM=0
IF log_DisUBB=Empty Then log_DisUBB=0
IF log_DisIMG=Empty Then log_DisIMG=0
IF log_AutoURL=Empty Then log_AutoURL=0
IF log_AutoKEY=Empty Then log_AutoKEY=0

IF log_IsTop="" Then log_IsTop=0
IF log_IsShow="" Then log_IsShow=1
IF log_DisComment="" Then log_DisComment=0

log_Modify="[本日志由 "&memName&" 于 "&DateToStr(Now(),"Y-m-d H:I A")&" 编辑]"
Dim log_MoveToSQL
IF Request.Form("blogmoveto")<>"0" Then
log_MoveToSQL=",log_CateID="&Request.Form("blogmoveto")&""
End IF
response.write "UPDATE blog_Content Set log_Title="&log_Title&",log_Intro="&log_Intro&",log_Content="&log_Content&",log_From="&log_From&",log_FromURL="&log_FromURL&",log_DisSM="&log_DisSM&",log_DisUBB="&log_DisUBB&",log_DisIMG="&log_DisIMG&",log_AutoURL="&log_AutoURL&",log_AutoKEY="&log_AutoKEY&",log_Modify="&log_Modify&",log_IsShow="&log_IsShow&",log_DisComment="&log_DisComment&",log_Weather="&log_Weather&",log_IsTop="&log_IsTop&log_MoveToSQL&",log_mode="&log_mode&" WHERE log_ID="&log_ID&""
Conn.ExeCute("UPDATE blog_Content Set log_Title="&log_Title&",log_Intro="&log_Intro&",log_Content="&log_Content&",log_From="&log_From&",log_FromURL="&log_FromURL&",log_DisSM="&log_DisSM&",log_DisUBB="&log_DisUBB&",log_DisIMG="&log_DisIMG&",log_AutoURL="&log_AutoURL&",log_AutoKEY="&log_AutoKEY&",log_Modify="&log_Modify&",log_IsShow="&log_IsShow&",log_DisComment="&log_DisComment&",log_Weather="&log_Weather&",log_IsTop="&log_IsTop&log_MoveToSQL&",log_mode="&log_mode&",log_mf="&log_mf&" WHERE log_ID="&log_ID&"")
SQLQueryNums=SQLQueryNums+1
if log_mode="发布" then
Conn.ExeCute("UPDATE blog_Info SET blog_LogNums=blog_LogNums+1")
else
Conn.ExeCute("UPDATE blog_Member SET mem_PostLogs=mem_PostLogs-1 WHERE mem_Name="&Request.Form("log_Author")&"")
Conn.ExeCute("UPDATE blog_Info SET blog_LogNums=blog_LogNums-1")
end if
Response.Write("<br><br>修改日志成功,日志模式为:"&log_mode&"<br><br><a href=default.asp>点击返回首页</a><br><br><a href=blogview.asp?logID="&log_ID&">或者返回你所修改的日志</a><br><br>或者等待3秒后自动返回你所修改的日志<meta http-equiv=refresh content=3;url=blogview.asp?logID="&log_ID&"><br><br>")
End IF%>

替换为:
<%
Dim blog_EdRS,blog_ED
blog_ED=CheckStr(Request.Form("log_ID"))

Set blog_EdRS=Server.CreateObject("ADODB.Recordset")
SQL="SELECT L.*,C.cate_Name FROM blog_Content AS L,blog_Category AS C WHERE log_ID="&blog_ED&" AND C.cate_ID=L.log_cateID"
blog_EdRS.Open SQL,Conn,1,1
SQLQueryNums=SQLQueryNums+1
IF blog_EdRS.EOF AND blog_EdRS.BOF Then
response.write "你要修改日志的日志不存在<br/><a href=""default.asp"">点击返回主页面</a>"
elseIF Not((blog_EdRS("log_Author")=memName AND memStatus="Admin") OR memStatus="SupAdmin") Then
response.write "你没有权限修改日志<br/><a href=""default.asp"">点击返回主页面</a>"
else
IF Request.Form("message")=Empty OR Request.Form("log_Title")=Empty Then
Response.Write("必须填写日志内容<br><a href=javascript:history.go(-1);>请返回重新填写</a>")
ElseIF Request.Form("blogdele")="1" Then
Conn.ExeCute("DELETE blog_Content WHERE log_ID="&Request.Form("log_ID"))
Conn.ExeCute("DELETE blog_Comment WHERE blog_ID="&Request.Form("log_ID"))
Conn.ExeCute("UPDATE blog_Member SET mem_PostLogs=mem_PostLogs-1 WHERE mem_Name="&Request.Form("log_Author")&"")
Conn.ExeCute("UPDATE blog_Info SET blog_LogNums=blog_LogNums-1")
SQLQueryNums=SQLQueryNums+4
Response.Write("<br><br>日志及相关留言删除成功<br><br><a href=default.asp>点击返回首页</a><br><br>")
Else
dim Log_Title,log_Content,log_From,log_FromURL,log_ID,log_Intro,log_DisSM,log_DisUBB,log_DisIMG,log_AutoURL,log_Modify,log_IsShow,log_AutoKEY,log_IsTop,log_DisComment,log_Weather,log_mode,log_mf
log_Title=CheckStr(Request.Form("log_Title"))
if len(log_Title)>50 then
log_Title=left(log_Title,47) & "..."
end if
log_Content=CheckStr(Request.Form("message"))
log_Intro=SplitLines(HtmlEncode(log_Content),4)
log_From=CheckStr(Request.Form("log_From"))
log_FromURL=Request.Form("log_FromURL")
log_ID=Request.Form("log_ID")
log_DisSM=Request.Form("log_DisSM")
log_DisUBB=Request.Form("log_DisUBB")
log_DisIMG=Request.Form("log_DisIMG")
log_AutoURL=Request.Form("log_AutoURL")
log_AutoKEY=Request.Form("log_AutoKEY")
log_Weather=Request.Form("log_Weather")
log_IsTop=Request.Form("log_IsTop")
log_IsShow=Request.Form("log_IsShow")
log_DisComment=Request.Form("log_DisComment")

log_mode=request.form("log_mode")
log_mf=request.form("post_MagicFace")
if log_mf=empty then log_mf=NULL

IF log_DisSM=Empty Then log_DisSM=0
IF log_DisUBB=Empty Then log_DisUBB=0
IF log_DisIMG=Empty Then log_DisIMG=0
IF log_AutoURL=Empty Then log_AutoURL=0
IF log_AutoKEY=Empty Then log_AutoKEY=0

IF log_IsTop="" Then log_IsTop=0
IF log_IsShow="" Then log_IsShow=1
IF log_DisComment="" Then log_DisComment=0

log_Modify="[本日志由 "&memName&" 于 "&DateToStr(Now(),"Y-m-d H:I A")&" 编辑]"
Dim log_MoveToSQL
IF Request.Form("blogmoveto")<>"0" Then
log_MoveToSQL=",log_CateID="&Request.Form("blogmoveto")&""
End IF
response.write "UPDATE blog_Content Set log_Title="&log_Title&",log_Intro="&log_Intro&",log_Content="&log_Content&",log_From="&log_From&",log_FromURL="&log_FromURL&",log_DisSM="&log_DisSM&",log_DisUBB="&log_DisUBB&",log_DisIMG="&log_DisIMG&",log_AutoURL="&log_AutoURL&",log_AutoKEY="&log_AutoKEY&",log_Modify="&log_Modify&",log_IsShow="&log_IsShow&",log_DisComment="&log_DisComment&",log_Weather="&log_Weather&",log_IsTop="&log_IsTop&log_MoveToSQL&",log_mode="&log_mode&" WHERE log_ID="&log_ID&""
Conn.ExeCute("UPDATE blog_Content Set log_Title="&log_Title&",log_Intro="&log_Intro&",log_Content="&log_Content&",log_From="&log_From&",log_FromURL="&log_FromURL&",log_DisSM="&log_DisSM&",log_DisUBB="&log_DisUBB&",log_DisIMG="&log_DisIMG&",log_AutoURL="&log_AutoURL&",log_AutoKEY="&log_AutoKEY&",log_Modify="&log_Modify&",log_IsShow="&log_IsShow&",log_DisComment="&log_DisComment&",log_Weather="&log_Weather&",log_IsTop="&log_IsTop&log_MoveToSQL&",log_mode="&log_mode&",log_mf="&log_mf&" WHERE log_ID="&log_ID&"")
SQLQueryNums=SQLQueryNums+1
if log_mode="发布" then
Conn.ExeCute("UPDATE blog_Info SET blog_LogNums=blog_LogNums+1")
else
Conn.ExeCute("UPDATE blog_Member SET mem_PostLogs=mem_PostLogs-1 WHERE mem_Name="&Request.Form("log_Author")&"")
Conn.ExeCute("UPDATE blog_Info SET blog_LogNums=blog_LogNums-1")
end if
Response.Write("<br><br>修改日志成功,日志模式为:"&log_mode&"<br><br><a href=default.asp>点击返回首页</a><br><br><a href=blogview.asp?logID="&log_ID&">或者返回你所修改的日志</a><br><br>或者等待3秒后自动返回你所修改的日志<meta http-equiv=refresh content=3;url=blogview.asp?logID="&log_ID&"><br><br>")
End IF
end if
%>
L-BLOG此类漏洞很多哦。呵呵,大家一定要打上补丁。
ACCESS版用户下载:
http://www.guoblog.com/attachments/month_0501/pmes_2005116115257.RAR
SQL版用户下载:
http://www.guoblog.com/attachments/month_0501/mjbp_2005116115220.RAR


  • 上一篇文章:
  • 下一篇文章:
  • 最近更新
    固顶文章 爱国者安全网2007年度优秀版主评选
    普通文章 瑞星公司01月11日发布 每日计算机病毒及木马播报
    普通文章 破解博彩神助(专注彩票) V2.8.01
    推荐文章 推荐:跨站脚本执行漏洞代码的六点思路
    普通文章 Windows系统下的远程堆栈溢出 实战篇
    普通文章 Windows系统下的远程堆栈溢出 原理篇
    普通文章 MsSQLServer是如何加密口令的
    普通文章 浅谈国内的渗透评估过程
    普通文章 Dvbbs8.1 0DAY(通杀Access和mssql版本)
    普通文章 微软:我们的代码比赛门铁克更安全
    热门文章
    普通文章提醒:“求职信”病毒1月6日发作
    普通文章两条“蠕虫”蠢蠢欲动
    普通文章5“网银大盗”狂盗储户14万 武汉男子被判10年
    普通文章“木马事件”终告结束 英语学习网重获新生
    普通文章搜索引擎不再喜欢新米,并非只是CN米
    普通文章蠕虫"威金"新变种 "小熊猫"屠宰多个计算机系统
    普通文章元旦上网谨防“Real蛀虫” 通过视频文件传播
    普通文章入侵工具Knark的分析及防范
    普通文章认清本质 计算机病毒防治常遇问题
    普通文章饶过现代Anti-Rookit工具的内核模块扫描(ZT)
    精彩专题