查看文章 |
警惕Third Party Content攻击 "对于web应用程序,很多程序为了实现一些功能比如程序升级/提醒,还有广告什么的都直接在程序里使用了Third Party Content,那么当官方等站被黑时,基本使用你程序的用户都被xx了,这个以后也有可能和crsf一样成为一种vul呢?" 上面的文字引用于年前的一个blog:http://hi.baidu.com/hi_heige/blog/item/2700f9f93bc2d209d9f9fdbe.html,没想到今天就有了实际例子了.今天n多dz论坛被挂上了"Hacked by ring04h, just for fun!",引起很大关注,最开始基本上都是认为dz的程序出现了非常严重的漏洞,但是等官方的声明一出来,原来只是"Discuz!服务器域名被劫持".... 其实我觉得这样的问题,应该把他归为程序的vul[还有csrf也是],而且除了这个问题ring04h还利用了其他的一些'漏洞' 第一 Third Party Content Discuz!_5.5.0_SC_GBK\upload\admin\global.func.php直接调用了第三方的js: 00436: $posts = $db->result($db->query("SELECT COUNT(*) FROM {$tablepre}posts"), 0); 直接用的script标签. 第二 变量缺少过滤 记得ms有句名言:"一切输入都是有害的",但是对于web2.0的猥琐攻击时代,对于那些注意安全的程序员来说已经不够用了.我们应该另外加一句话了: "一切输出也都是有害的" ring04h攻击代码里的playload其实就是用了一个后台插入js的问题,而前台对这个值的输出是没有过滤的,导致再一次被xss,具体到这次的代码: <script>function init() { document.write('Hacked by ring04h, just for fun!');}window.onload = init;</script> ring04h还是比较厚道的 只是write了一句话,如果给他挂个马 不知道要死多少pc...
1.ring04h控制了customer.discuz.net[这里不官他是域名劫持还是其他什么方法!:)]
1.如果dz代码里不直接使用Third Party Content,或者对Third Party Content的内容进行过滤后使用呢?
第3这个 还有很多的程序员不知道过滤变量,尤其是输出的东西也需要过滤. 所以对于开发者来说,第1个是最方便有效果的方法? 不过同时还得注意程序员的安全意识的培养. 说点8挂: 1.为什么sodb那么多漏洞,都没有这次那么被关注呢? 最后感谢ring04h给我们提供了一个这么好的实际例子,并分享演示了他的测试过程 thx. |

