一、信息泄露
概念
信息泄露是由于Web服务器或应用程序没有正确处理一些特殊请求,泄露Web服务器的一些敏感信
息,如用户名、密码、源代码、服务器信息、配置信息等。
造成信息泄露主要的三个原因:
①Web服务器配置存在问题,导致一些系统文件或者配置文件暴露在互联网中
②Web服务器本身存在漏洞,在浏览器中输入一些特殊的字符,可以访问未授权的文件或者动态脚
本文件源码
③Web网站的程序编写存在问题,对用户提交请求没有进行适当的过滤,直接使用用户提交上来的
数据
案例
敏感信息可能会不慎泄露给仅以正常方式浏览网站的用户。但是更常见的是,攻击者需要通过意外
或恶意的方式与网站进行交互来引发信息泄露。然后,将仔细研究网站的响应,以尝试找出有趣的
行为。
①通过robots.txt文件或目录列表显示隐藏目录的名称,它们的结构及其内容
②通过临时备份提供对源代码文件的访问
③在错误消息中明确提及数据库表或列名
④不必要地暴露高度敏感的信息,例如信用卡详细信息
⑤在源代码中对API密钥,IP地址,数据库凭证等进行硬编码
⑥通过应用程序行为的细微差别来提示是否存在资源,用户名等
源码泄露
①git源码泄露
git源码泄露,只要有git目录存在,就可以尝试将其源码导出利用githack工具,在ubuntu中先进入
githack-master中,然后输入:pythonGitHack.py http://ip/.git/即可将源码下载下来。
②hg源码泄露
利用工具dvcs-ripper可以将源码导出
③DS Store文件泄露
利用工具ds store exp可恢复文件名,不可恢复文件内容
④网站备份文件泄露
管理员备份网站文件后错误的将备份放在Web目录下,有:.rar、.zip、.7z、.tar、.tar.gz、.bak、.txt
⑤svn泄露
重要的文件是/.svn/wc.db和/.svn/entries,同样可利用dvcs-ripper工具
⑥web-inf/web.xml泄露
web-inf是Java Web应用的安全目录,web.xml中有文件的映射关系
⑦CVS泄露
http://url/CVS/Root 返回根信息
http://url/CVS/Entries 返回所有文件的结构
bk clone http://url/name dir 取回源码
二、目录遍历
概念
目录遍历(目录穿越)是一个Web安全漏洞,攻击者可以利用该漏洞读取运行应用程序的服务器上的
任意文件。这可能包括应用程序代码和数据,后端系统的登录信息以及敏感的操作系统文件。
危害
目录遍历最大的危害是能够让任意用户访问系统的敏感文件,继而攻陷整个服务器
案例
直接访问Web应用存在的一些目录,如果返回文件列表信息,证明存在此漏洞。
使用” ../”测试,/var/www/images/../../../etc/passwd等价于/etc/passwd
三、跨站脚本攻击(XSS)
概念
跨站脚本攻击(XSS),指攻击者通过在Web页面中写入恶意脚本,造成用户在浏览页面时,控制用
户浏览器进行操作的攻击方式。
类型
①反射型
②存储型
③DOM型
危害
①盗取cookie
②XSS蠕虫攻击
③会话劫持
④钓鱼攻击
四、SQL注入
概念
SQL注入漏洞,Web系统对数据库访问语句过滤不严,入侵者在合法参数的位置传入特殊的字符、
命令,实现对后台数据库的入侵。
类型
数据型 Select*from table where id = xss
字符型 Select *from table where username = 'test'
危害
数据库信息泄露、数据篡改、挂马等
五、文件上传漏洞
概念
文件上传漏洞,网站WEB应用都有一些文件上传功能,比如文档、图片、头像、视频上传,当上
传功能的实现代码没有严格校验上传文件的后缀和文件类型时,就可以上传任意文件,甚至可执行
文件后门。
类型
根据网站使用及可解析的程序脚本不同,可以上传的恶意脚本可以是PHP、ASPJSP、ASPX文件
等。
危害
恶意文件传递给解释器去执行,之后就可以在服务器上执行恶意代码,可实现数据库执行、服务器
文件管理,服务器命令执行等恶意操作。
六、命令执行漏洞
概念
命令执行,应用程序有时需要调用一些执行系统命令的函数,而Web开发语言中部分函数可以执行
系统命令,如PHP中的system、exec、shell exec等函数。
危害
当黑客控制这些函数的参数时,就可以将恶意的系统命令拼接到正常命令中,从而造成命令执行攻
击,若当前用户为root用户,危害程度将更严重。
七、文件包含
概念
文件包含,程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用
此文件,而无需再次编写,这中文件调用的过程一般被称为文件包含。所有脚本语言都会提供文件
包含的功能,但文件包含漏洞在PHPWeb Application中居多,而在JSP、ASP、ASP.NET程序中却
非常少,甚至没有。
常见包含函数有:include()、require()
类型
本地包含
远程包含
危害
文件包含函数加载的参数没有经过过滤或者严格的定义,可以被用户控制,包含其他恶意文件导致
执行了非预期的代码
八、web中间件
概念
Web中间件,介于操作系统和应用程序之间的产品,面向信息系统交互,集成过程中的通用部分的
集合,屏蔽了底层的通讯,交互,连接等复杂又通用化的功能,以产品的形式提供出来,系统在交
互时,直接采用中间件进行连接和交互即可,避免了大量的代码开发和人工成本。
类型(常见)
IIS
Apache
Tomcat
Nginx
WebLogic
Jboss
漏洞样例(Tomcat·CVE-2020-1938)
Tomcat
Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器,按照Sun Microsystems提供
的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持。
由于Tomcat本身也内含了HTTP服务器,因此也可以视作单独的Web服务器
影响版本
Apache Tomcat 9.x<9.0.31
Apache Tomcat 8.x<8.5.51
Apache Tomcat 7.x<7.0.100
Apache Tomcat 6.x
漏洞危害
一、信息泄露
概念
案例
源码泄露
二、目录遍历
概念
危害
案例
三、跨站脚本攻击(XSS)
概念
类型
危害
四、SQL注入
概念
类型
危害
五、文件上传漏洞
概念
类型
危害
六、命令执行漏洞
概念
危害
七、文件包含
概念
类型
危害
八、web中间件
概念
类型(常见)
漏洞样例(Tomcat·CVE-2020-1938)
影响版本
漏洞危害