当前位置:七道奇文章资讯安全技术网络技术
日期:2010-09-29 00:45:00  来源:本站整理

各个语言格局尺度差别招致的安全问题[网络技术]

赞助商链接



  本文“各个语言格局尺度差别招致的安全问题[网络技术]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
本日看到mindedsecurity的大牛写的一篇blog《A Twitter DomXss, a wrong fix and something more》里面提到的twitter的一个dom-xss错误的fix方法,而招致这个错误fix的关键就是对javascript的replace函数的错误所用:

var c = location.href.split("#!")[1];
if (c) {
window.location = c.replace(":", "");
} else {
return true;
}

在javascrpt里replace()的格局尺度默许不支持全局替换,也就是说上面代码里的c.replace(":", "")只会替换掉第一个: 那么我们用::便可以绕过了,而要让js的replace()支持全局替换要所用全局标志g 如:c.replace(":","","g") 大概 c.replace(/:/g,"").

那么程序员为什么会呈现这样初级的错误?在我们开辟历程里,很多脚本、语言穿插所用,比方我有一次搞个‘项目’,用了asp php js vbs perl等脚本,但是各个语言格局尺度是不一样的,招致很简单呈现上面那样的初级错误!

比方上面的replace函数,在php vbs/asp里默许就是全局替换.

php>php -r "print str_replace('80', '90', '80vul80vul');"
90vul90vul

wscript.echo replace("80vul80vul", "80","90")
C:\>cscript v.vbs
Microsoft (R) Windows Script Host Version 5.6
版权全部(C) Microsoft Corporation 1996-2001.保存全部权利.

90vul90vul

招致这样的问题表现得对比常见的还有就是注释标记的问题,以及转换标记的问题... 别的这类的问题还表目前各大数据库的sql脚本格局尺度上
  以上是“各个语言格局尺度差别招致的安全问题[网络技术]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 各个语言格局尺度差别招致的安全问题
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .