盘点常见的漏洞利用方式
漏洞是网络硬件、软件、协议的具体实现或操作系统安全策略上存在的缺陷,漏洞利用是对攻击者利用上述安全缺陷实现未授权访问、非法获取目标系统控制权或破坏系统的一系列恶意操作的统称。漏洞分为 0day 漏洞和 Nday 漏洞。
1. SQL 注入漏洞
通过把 SQL 命令插入 Web 表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意 SQL 命令的目的。广泛用于获取目标 Web 系统的后台敏感数据、修改网站数据。对目标网站挂马,进一步有针对性地开展钓鱼攻击;获取后台应用系统的控制权限,进一步控制后台服务器。
2. 跨站漏洞
由于程序员在编写程序时对用户提交的数据没有做充分的合规性判断和进行 HTML 编码处理,直接把数据输出到浏览器客户端,这样导致用户可以提交一些特意构造的脚本代码或 HTML 标签代码,并在输出到浏览器时被执行。利用跨站漏洞可以实现对目标网站植入恶意代码,有针对性地开展进一步攻击渗透;窃取网站管理员或访问用户的安全认证信息,进一步向个人主机拓展;劫持用户会话,进一步获取网站用户隐私,包括账户、浏览历史、IP 地址等。
3. 文件上传或下载漏洞
一些网站或 Web 应用由于业务需求,往往需要提供文件上传或下载功能,但若未对上传或下载的文件类型进行严格的验证和过滤,就容易造成不受限制的文件类型上传或敏感文件下载,导致发现文件上传或下载漏洞。利用文件上传或下载漏洞可以实现向目标网站或应用上传脚本文件,通过脚本搜集关键信息或获取目标控制权限;向目标网站或应用上传木马文件,开展水坑攻击。
4. 命令执行漏洞
在 Web 应用、网络设备、业务系统上由于代码过滤不严格导致用户提交的数据被解析执行而造成的漏洞,其形成的原因是在目标应用或设备开发时对执行函数没有过滤,对用户输入的命令安全监测不足。命令执行漏洞可以分为系统命令执行和脚本(PHP、JSP 等)代码执行两类,分别通过传入系统命令和脚本代码实现。利用命令执行漏洞可以实现非法获取目标的敏感信息,比如用户口令、安全配置等;执行任意系统命令,比如添加账户操作、非法获取控制权;通过执行恶意代码植入木马,实现水坑攻击,以进一步拓展。
5. 敏感信息泄露漏洞
由于代码开发、程序设计不当或后台配置疏漏,导致不应该被前端用户看到的数据信息被轻易访问到的安全缺陷。敏感信息泄露漏洞可能导致泄露的信息包括:后台目录及目录下文件列表,后台操作系统、应用部署包、中间件、开发语言的版本或其他信息,后台的登录地址、内网接口信息、数据库文件,甚至账户口令信息等。这些敏感信息一旦泄露,就有可能会被攻击者用来寻找更多的攻击途径和方法。
6. 授权验证绕过漏洞
一种在没有授权认证的情况下可以直接访问需要通过授权才能访问的系统资源,或者访问超出了访问权限的安全缺陷。漏洞产生的原因是应用系统在处理认证授权请求时响应不当,用户可通过发送特制格式的请求数据绕过授权验证过程。授权验证绕过漏洞可导致未授权访问或越权访问。未授权访问是指在没有认证授权的情况下能够直接访问需要通过认证才能访问的系统资源,越权访问是指使用权限低的用户访问权限较高的用户或者相同权限的不同用户可以互相访问。
7. 权限提升漏洞
本地系统或系统应用在低权限情况下可被利用提升至高权限的安全缺陷,是因本地操作系统内网缓冲区溢出而可以执行任意代码或因系统应用管理配置不当而可以越权操作导致的。权限提升漏洞主要包括本地系统提权、数据库提权、Web 应用提权和第三方软件提权。权限提升漏洞多被攻击者用于在对渗透控制目标原有低权限的基础上通过提权实现高权限命令执行或获得系统文件修改的权限,从而实现在目标网络内更大的操作控制能力。权限提升漏洞多存在于本地主机或服务器、数据库应用、Web 应用系统、虚拟化管理平台等之中。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/10194f160212ce573fe7d1962】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论