Discuz7.2的暴露网站所在路径的BUG

Discuz7.2处理图片报错,信息为:Warning: sprintf() [function.sprintf]: Too few arguments in ….\include\discuzcode.func.php on line 369,原因分析:
当用户在发帖的时候,选择使用远程图片地址,且指定了图片的宽,高,且URL中包含%百分号(比如汉字URL编码)的时候,被discuzcode.func.php程序中的discuzcode函数处理。在discuzcode函数处理图片的URL的正则替换部分,用parseimg函数进行处理,parseimg函数的三个参数全部是正则匹配的结果,三个参数依次是宽,高,URL地址。paeseimg函数又调用了bbcodeurl函数处理,并把匹配的URL当作bbcodeurl函数的第二个参数的一部分,交给bbcodeurl函数处理。的sprintf 函数的第一个参数来自用户输入的数据,程序在使用bbcodeurl函数的时候,没有检测用户输入的数据,直接把用户输入的数据作为自己参数的一部分,也就是$tags参数了。bbcodeurl函数用了sprintf函数进行字符串格式化。$tags又是第一个参数,其中,$tags字符串中的%号是格式化字符串的保留字符,以为着有几个单独的%号,就必须后接几个参数。由于程序没有判断$tags中包含几个单独的百分号,后面的参数也是固定的两个,如果URL中包含百分号的话,则导致参数的个数不对,报Warning错,就暴露了程序所在服务器的路径了(config.inc.php中的$errorreport变量限制了错误报告的对象,默认只允许报告给版主,管理人员)。

Continue reading


Visual Studio 2010 全部五部广告视频。让爱延长、幸福也需要敏捷、当爱有了debug、让爱编译通过

继《Visual Studio仿优乐美广告》之后第二弹《让爱延长》煽情广告又放出啦。其男女主角都没变。女主角依然那么PL,广大程序员宅男们,接着内牛满面啊。。。。
第三弹 《幸福也需要敏捷》,第四弹,《当爱有了debug》,第五弹,《让爱编译通过》,其中第五弹台词:妈妈说:你什么都好,就不该是个程序员…… 很杯具的台词

Continue reading


firefox上gladder奇怪的网络请求…

终于完成手头的项目了,可以松了口气.对于一个爱好网络脚本安全的人(请允许我这么说),还是很重视自己写程序的安全性,从sql injection, xss,csrf,都做了过滤,甚至参照discuz,做了表单的formhash,防止本地提交等非法提交.当然,对于安全知识薄弱的我,是不能做的很安全,很完美的,还是需要充电… 下午,特意拜访了牛人的blog剑心,SuperHei 等前辈的blog,找了一些文章阅读,充电…其中,看到剑心前辈的PPT,关于xss, csrf攻击的,谈到了cookie域的问题,也谈到了xss攻击导致雅虎股价下跌的事件.
为什么会出现这样的事情呢?

Continue reading