您现在的位置:首页
--> 空虚浪子心的灵魂
上一篇文章已经提到,如果想这个类作为沙盒安全认证的基础类,就必须继承java.lang.SecurityManager,并且当前运行环境中,可以查到当前的SecurityManager对象,以及具体的类名等。可以执行 System 类的静态方法 getSecurityManager( ),如果在运行 Java 程序时使用-D java.security.manager 命令行选项指定了使用默认的安全管理器,或自己定义的安全管理器,则将返回该安全管理器。
即使是非常简单的STRUTS2应用都不可用,还有很多其他框架,也都有自己操作classLoader的情况,如果不支持JAVA框架,这样的SAE,还有啥存在的价值呢?所以这些权限,不止简单的禁止了事,它后面还有很多东西要做。没有可用性的安全,不是真的安全,这样的安全处理方案,早晚要在业务的压力下消失不见,要保证可用性,也要保证安全,这才是真正的安全。所以,坐等SAE对classLoader的限制消失,一切回归于0。
经过努力,作者已经打到了第三关,这一关叫做“命令执行关”。也不知道是因为作者描述不清楚,还是SAE的理解出现偏差,我们没有直接沟通过,只是作者写篇文章,先交给那边“审核”,“审核”通过后,才发布了,所有的交流,都仅限于文章本身。这种沟通的障碍,是此次绕过安全防御的起始。
(此漏洞新浪已修补) 本次bypass,是利用了SAE上的沙盒权限允许“crackClassLoader”做到的,绕过权限后,作者调用了系统命令,去读取其他云用户的源代码。沙盒,尤其是用在云上的沙盒,安全配置是很重要的,很多权限并不是可以随便交给用户的,这次有了crackCLassLoaer,基本上是一个最好用的提权办法了,其实还有很多其他的权限,都是很不安全的。这要仔细斟酌以后,才能开给用户,否则就是一个灾难。
ps:此漏洞,新浪已修复。新浪有云服务(SAE),提供PHP、JAVA等环境,供用户搭建网站,用户都在同一个云上,为了防止恶意用户在云上面DDOS,旁注黑掉其他云用户什么的,所以必须做安全限制,至少不允许用户调用某些关键函数。java对这种需求,有完美解决方案的,提供安全沙盒,有了安全沙盒,就限制了很多函数。但是java也有出漏洞的时候,今年新出了漏洞CVE20120507,绕过安全JAVA沙箱,新闻上讲,这个漏洞被用来黑苹果电脑。这个漏洞相关的技术,老外有分析文,国内也有分析文,虽然作者还是抱有疑问,但是并没有深究,所以原理方面的东西,就不献丑了。本文的目的,是把这个漏洞换个场景利用起来。
继上次struts远程代码执行漏洞后,前段时间又发布了一个远程代码执行漏洞。影响范围极广,利用方式相对上次要苛刻一点,但是读完本文,批量抓鸡不难。
这是个没有人公布过的漏洞,偶尔看代码发现的。事实上,这段代码用的人不多,需要同时满足两个情况,才可以搞。我猜测,发出struts2远程代码执行的那个大牛,不可能没发现这么弱智的漏洞。所以,要么是有原因不能公布,要么就是卖了,那就好,这次我首发,哈哈哈!
android的浏览器,竟然不支持httponly,这真是跨站的天下啊!
这是一个随机函数破解的经典例子。在java程序中,获取随机数的做法有多种。但是我们实现一个随机token,并用于认证时,通常第一时间,想起来使用“System.currentTimeMillis”,本文会详细讲解一次破解随机数的经过。
[ 共9篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
- [71] Twitter/微博客的学习摘要
- [65] find命令的一点注意事项
- [65] IOS安全–浅谈关于IOS加固的几种方法
- [63] android 开发入门
- [62] Go Reflect 性能
- [62] 如何拿下简短的域名
- [61] Oracle MTS模式下 进程地址与会话信
- [60] 流程管理与用户研究
- [57] 图书馆的世界纪录
- [57] 读书笔记-壹百度:百度十年千倍的29条法则
赞助商广告