分析利用髙贝文章v3.0漏洞之绕过refer注入.doc

分析利用髙贝文章v3.0漏洞之绕过refer注入.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分析利用髙贝文章v3.0漏洞之绕过refer注入

“重重突破”到“致命一击” --分析利用髙贝文章v3.0漏洞 莫ㄨ问 [B.H.S.T] 事情缘由 最近检测母校的网站,发现其中一个分站是利用了髙贝文章系统v3.0。苦于手中没有其漏洞资料,又是第一次听说这个系统。于是就顺便从站长中国下载v3.0版本,发现其最新更新是2006年的,貌似也太老了吧。读了部分代码发现几个漏洞。不过本文不在于漏洞本身,而在于其分析的过程和感受,另外就是思路。 漏洞分析与利用 注册的跨站,算是个鸡肋 个人习惯,先看看注册的过滤,似不是很严格。直接到User_RegPost.asp文件在代码的25-36行处: if (document.GaobeiSys_Reg.UserName.value.indexOf()!=-1 || document.GaobeiSys_Reg.UserName.value.indexOf()!=-1 || document.GaobeiSys_Reg.UserName.value.indexOf($)!=-1) { alert(用户名中包含非法字符 (,,$) ); document.GaobeiSys_Reg.UserName.focus(); return false; } if (document.GaobeiSys_Reg.UserName.value.indexOf()!=-1 || document.GaobeiSys_Reg.UserName.value.indexOf(%)!=-1 || document.GaobeiSys_Reg.UserName.value.indexOf()!=-1) { alert(用户名中包含非法字符 (,%,) ); document.GaobeiSys_Reg.UserName.focus(); return false; } 很显然只过滤了, , ,% 四种字符,另外还限制了长度只能输入10字符,这个我们可以查看其源码然后保存在本地然后修改其maxlength值就ok了。那么 的过滤又怎么绕过?可以用eval()函数配合ajax就可以了。不过我不熟悉就不给大家介绍了。 opensoft.asp的隐藏注射漏洞,直接看到opensoft.asp代码10-23行: if(request.querystring(soft_id) ) then colname = request.querystring(soft_id) end if url=soft_url+request(url) sql=select * from [soft] where soft_id=colname set rs=server.createobject(adodb.recordset) rs.open sql,conn,1,1 很显然变量colname仅仅检测是否为空就带入sql查询,注入漏洞产生了。本来以为应该很简单可以得到管理员密码。可是回到主页没有发现一个页面是opensoft.asp?soft_id=的。我想根据名字来看,应该和软件下载有关,就在首页随便找个下载链接http://localhost/showdown.asp?soft_id=54。启动WsockExpert来拦截数据包。点解下载,迅雷中看到确实调用了opensoft.asp这个文件,并且拦截其数据包得到如图01,02: 图1 图2 那么我们的直接输入http://localhost/opensoft.asp?soft_id=54看看。显示如图03: 图3 看到这个提示有经验人就会知道应该防盗链问题。那么怎么回事。我们回到代码去看看,在代码第4-9行: From_url = Cstr(Request.ServerVariables(HTTP_REFERER)) Serv_url = Cstr(Request.ServerVariables(SERVER_NAME)) if mid(From_url,8,len(Serv_url)) Serv_url then response.write 非法链接! 防止盗链 response.end end if 原来调用了http_referer来验证是否盗链.接下来就是绕过防盗链了。在回到图2看到这行Referer: http://localhost/showdown.asp?soft_id=54 ,思路有了,伪造referer就可以了。可是接下来的问题是怎么伪造才可以进行注入?陷入了困境,吃饭后继续看,刚问旭方这个问题,他扔给我一个软件quickspoof说可以利用这个来伪造并进行注入。好的。。开始手工注射这个“隐藏“的注入点。比较烦琐。。我测试了可以成功拿到管理员的id和密码。这里我简单说

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档