CH17 攻击应用程序架构

一、分层构架
一般分为三层:展现层--应用程序层--数据库层
一个基于JAVA的应用程序可能采用多层次技术:
应用程序服务层(Tomcat)
展现层(WebWork)
授权与验证层(JAAS/ACEGI)
核心应用程序框架(Struts或Spring)
业务逻辑层(Enterprise Java Beans)
数据库对象关系映射(Hibernate)
数据库JDBC调用
数据库服务器
(1)攻击分层构架
a. 利用层之间的信任关系
b. 利用一层的缺陷破坏其他层
    访问解密算法、使用文件读取权限提取MYSQL数据、使用本地文件包含执行命令等。
    一种利用PHP框架的方法:以明文形式将PHP会话变量写入使用会话令牌命名的文件中。
(2)保障分层安全
尽量减少信任关系、隔离不同的组件、应用深层防御(打补丁、存储加密等)

二、共享主机
<VirtualHost *>
    ServerName app1.com
    DocumentRoot /www/app1
</VirtaulHost>

<VirtualHost *>

    ServerName app2.com

    DocumentRoot /www/app2

</VirtaulHost>
攻击共享环境:
    (1)针对访问机制的攻击
        a. 访问机制本身不安全,如使用FTP等未加密的协议
        b. 远程访问机制许可的访问可能过于宽泛,或未对客户进行适当的隔离
        c. 可能没有对数据库进行适当的权限控制和隔离;直接 数据库连接可能使用标准ODBC之类的非加密渠道来实现
     (2)应用程序间的攻击
        a. 预留后门
        b. 易受攻击的应用程序间的攻击
            利用SQL注入在共享数据库中执行任意SQL查询;利用路径遍历漏洞读取或写入其他应用程序的文件;利用命令注入漏洞攻击其他应用程序
        c. ASP应用程序组件间的攻击(这个ASP指应用程序服务提供商)
            不同应用程序生成的数据可能分配到一个公共的位置,可以被较高权限的ASP级用户查看,可以利用XSS漏洞攻击,如可以在日志等文件中注入JS代码等;
            共享数据库间的隔离问题,如果隔离做的不好,一个SQL注入可能就会攻破整个共享数据库。
            数据库扫描工具NGSSquirrel
    (3)攻击云
    Web应用程序、克隆系统获得熵源、自助的管理工具、feature-first approache(对用户优好的一些新功能吸引新用户)、攻击本地存储的永久身份令牌、Web存储 
    (4)保护共享环境的安全
        a. 保障客户访问的安全(严格的身份确认、最低的访问权限、满足安全需求的定制的应用程序)
        b. 隔离客户功能(每名客户使用独立的操作系统帐户、强大的功能仅限于操作系统等级且分配最低权限、共享数据库中实施保护和隔离,只允许访问客户自己的数据 )
        c. 隔离共享应用程序中的组件(在各方控制的组件之间实施信任边界)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容