相关服务

  • 《黑客×档案》2007年第2期摘录:再暴BBSXP7.0Bcta2漏洞

如发现有乱码,请点击下面链接浏览原文
正文摘录:

~.BBSXP10Beta2漏洞BBSXP是当前网l:运行速度非常快、系统资源占用非常小的一个论坛,相信很多网站使用的部是这种论坛。目前,官方刚站提供的最新版本仍是BBSxP7.0Beta2版本。记得9月份我在《黑客x档案》发表过一篇关于BBSXP7.0Bcta2漏洞的文章。邵篇文章主要是从COOKII=c着手来获取管理员权限,现在看来,感觉不太完美,获取权限也没有这篇文章中来得快。今天,我就带大家一起来分析BBSxP7.0Beta2的另一漏洞,然后再对官方网站做一次检测。第一部分:漏洞分析漏洞仃在于setuP.asp文件中,其392395行代码如下-:r-。subLog(Message),,,定义log()过程IfReauestServerVar『abIes(‘0uerY。Strlng’)<>‘’thenOueryString=’’々”&Request.ServerVar旧bIes(”Ouery~String”)&//如果传递参数不为空,则将字符“,”加上传递参数赋值给0uery—String。Conn.Execute(”insertinto[BBSXPLog](UserName.IPAddreSs.UserAgent,HttPVerb,PathAndouerY,Referrer,ErrDesoriPtion.POSTData.Notes)values(…’&CookieUserName&”’,”&RequestServerVariabtes(”REMOTE—ADDR”)&”’,…’&HTMLEncede(RequestServervarlables(”HTTPUser—AG£NT”))&,’&RequestServerVar}ables(”request—method”)&”。,’http:’&RequestServerVariabjes(”server—name”)&’…’&RequestServerVariables(scriptname’)&’’&0Uery—StrIng&”’,。。&RequestServerVariabIes(”HTTP—REFERER”)&”.’&ErrDescriptlon&”、&RequestForm&….…’&Message&“)‘)//执行数据库插入操作。。“。。ubJ在。j:边的代码驰,CookieUsoi’NaⅡ]e和Request.ServerVariables(”REMOTEADDR”)等等变醚到底足怎么来的呢?我仃J一一查石。存setup.asp第!()仃n]以胥钊ft:fi。5CookieUserName----Rs(”UserName”),说叫CookieUSOl‘Name足从数据库『11读出来的值,所以44(C:(I..iWFJ:.Request:.ServerVariables(”REMoTEADDR”)、Request.ServerVariables(”servername”)、Request.ServerVariabIes(”sGriPtname”)这儿个变髓足ASI’内氍的蚪境变量,i:耍川途是读取远程Il’地Jif:、暇务器铭称和脚本名称,我们暂时也没有办法拧制。Request.Servervariebles(”HTTPUserAGENT”)}-T以控制,佩经过HTMLEncode()函数处圳jlj.1、妤利川。Mcss|{gc为从TTFCTlog()过程传递来的参数,1i易控制。除了j二面的儿个外,乖0I-f『勺就矸:多了,最』哥Il乘0卜Request.ServerVariables(”HTTPREFERER”)这个变量了。小知识:HTTPREFERER变量匿圆refer在英语里有涉及的意思,在这里表示引用页。假如我们正在百度搜索黑客X档案,通过wwWbaldu.c0m上某一个链接来到了黑客x档案的网站。那么,虽然你打开的是http://www.h&ckerxfilesnet,可是黑蓉×档案的服务器收到的HTTP数据包中,却包含了一个HTTP—REFERER的消息,让我们{口道你是从wWW.ba}du.com上过来的。对J:…jSXP的编稗人i束说,也m觉得Request.ServerVariables(”HTTPREFERER”)避非常町靠的,所以在没经过任何。奠全处川的。h’i况卜帆i!t接提交,进入rSQl,语句j{:执{J:。似』t。艾IITTI’}{1i川!RIjl{也是¨r以自定义的。这样来,便构成J’SQl_汁人。要如何伪造数据才能成功利用此渐洞呢?夫家随我‘起分析。来香看下边这句代码:insertinto[BBSXPLog】(UserName,lPAddress,UserAgent,HttPVerb,PathAndQuery,Referrer,ErrDescription,POSTData,N01:es)。这个1llSOrtillto语钔要插入9个亨段,values晤边跟着的9个变跫伞为7筒’烈数掘(恕·,、数据都址I…I、江r』I弓敞隔离的)。ft『rIiTTI’RIiFlcRllR处川征讨6,耍插人9个‘严段,我仃J必须¨伪造3个数据,为了不出错,我们还得闭合右抓r√3“)”。要刊川此漏f1.1,我们还僻注,敬玛‘个地,J‘,在sotuu.asp‘t16669千J'代码如1、:广IfRequest.serverv日r_ables(,reqUest—met删)=”posT”thenhttp—referer=LCase(Request.ServerVariabIes(”http—referer”))'fInstr(””&httP—referer&””.httP:///”&RequestServerVari8bles(”server—name’’)&””)一0andinstr(ecr【Dt—name,”Ioainasp”)=0thenerror(”<}I>来源错误!”&http—referer&”<“>系统无法识别您的来源’<‘‘>建议您关闭防火墙后再提交此信息。’。’J这一段代码使得所有I’OST提交的参数,1I}i;必须检查HTTPI{}if?I:l{ER中是否包含当肿『删站的域笔,否则孰会进入orror函数得到错误信息提爪片截断程序的运行,兀轻;注入J’。仔ftll分忻‘卜它判断的条件

阅读此文(图):   点击此处在线翻阅