IdeaCMS系统总体防御文档.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IdeaCMS系统总体防御文档

IdeaCMS系统总体防御文档 D0000D发往论坛板块------------------------------------------------------- No2 号板块 技术文章 D8888D贴子标题------------------------------------------------------- IdeaCMS系统总体防御文档 D8888D主贴内容------------------------------------------------------- 一、程序漏洞 1、跨站漏洞。Guestbook.asp,Resume.asp这两个文件中添加数据时,所取参数没有任何过滤,可以进行跨站攻击。 2、Cookie注入漏洞。还是上述两个文件在取参数时全用的Request(“参数名”),这样即使有通用防注入系统,也可以通过cookie注入将其绕过,提交危险字符。 3、Session欺骗漏洞。后台admin/chkuser.asp,验证登录程序存在session欺骗漏洞。 4、后台注入、跨站漏洞。后台程序注入、跨站的问题基本没有考虑,没有做任何处理(这是很多程序员的通病,这当中不乏从事编程工作很多年的老程序员,记住:千里之堤,溃于蚁穴!) 5、上传文件漏洞。后台“网站管理”“上传设置”栏目,可以任意修改上传文件扩展名的类型,致使用户可以任意上传各种类型的网页木马(说这是漏洞有点冤枉写这个程序的程序员,人家作了设置了,后面会详细讲解)。 6、后台admin/Check_UserName.asp。唉,这个文件实在不知道写程序的人想干什么,估计是调试程序时方便自己看的,最后发布时忘删除了,真不应该(被领导看了一定会被扣工资)。 7、验证码漏洞。后台登录没有验证码,可以被爆破。 二、修改方案 1、加入参数过滤函数。根据是上述1、4所出现的参数过滤不严而导致注入、跨站的问题,写1个字符过滤函数,取每个参数时都调用这个函数,可以防注入,代码如下: Function CheckPara(ParaName,ParaType) ParaName:参数名称-字符型 ParaType:参数类型-数字型(1表示以上参数是数字,0表示以上参数为字符) Dim ParaValue ParaValue=Request(ParaName) If ParaType=1 then If not isNumeric(ParaValue) then Response.write 参数 ParaName 必须为数字型! Response.end End if Else ParaValue=replace(ParaValue,’,’’) End if CheckPara=ParaValue End function 复制代码这是好多年以前的一个防注入函数了,好像是NB的小竹写的(不去考证了),但不管理怎么样,到现在它针对注入依然有效。现在的防注入系统中,针对字符型参数的屏蔽项很多,个人觉得不太合理。完全是一棒子打死的策略,假设在某个技术论坛中,有人问某条SQL语句怎么写,那他估计这辈子都得在非法字符的对话框中徘徊了。说到底,字符型注入归根结底需要闭合SQL语句,也就是要使用单引号来闭合语句,那么把单引号屏蔽掉就行了。 最后是跨站的问题了,针对本站的漏洞,是可以写入Html或js代码,我们把“”和“”都屏蔽掉了,代码就无法被浏览器解释了。其实系统中有对Html字符进行过滤的函数,只是测试站点没用而已。 (1)代码文件:inc/Function.asp (2)相关代码: ************************************************* 函数名:RemoveHTML 作 用:过滤HTML代码 参 数:strHTML ----原字符串 返回值:过滤后的字符串 ************************************************* Function RemoveHTML(strHTML) Dim objRegExp, Match, Matches Set objRegExp = New Regexp objRegExp.IgnoreCase = True objRegExp.Global = True 取闭合的 objRegExp.Pattern = .+? 进行匹配 Set Matches = objRegExp.Execute(strHTML) 遍历匹配集合,并替换掉匹配的项目 For Each Match in Matches strHtml=Replace(strHT

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档