找回密码
 立即注册

渗透测试web安全综述—常见Web安全漏洞

2024-11-22 17:01| 发布者: admin| 查看: 209| 评论: 0

摘要: 常见Web安全漏洞信息泄露概念信息泄露是由于Web服务器或应用程序没有正确处理一些特殊请求,泄露Web服务器的一些敏感信息,如用户名、密码、源代码、服务器信息、配置信息等。造成信息泄露主要的三个原因:Web服务器 ...
 

常见Web安全漏洞

信息泄露概念

信息泄露是由于Web服务器或应用程序没有正确处理一些特殊请求,泄露Web服务器的一些敏感信息,如用户名、密码、源代码、服务器信息、配置信息等。

造成信息泄露主要的三个原因:

  • Web服务器配置存在问题,导致一些系统文件或者配置文件暴露在互联网中
  • Web服务器本身存在漏洞,在浏览器中输入一些特殊的字符,可以访问未授权的文件或者动态脚本文件源码
  • Web网站的程序编写存在问题,对用户提交请求没有进行适当的过滤,直接使用用户提交上来的数据

信息泄露案例

敏感信息可能会不慎泄露给仅以正常方式浏览网站的用户。但是更常见的是,攻击者需要通过意外或恶意的方式与网站进行交互来引发信息泄露。然后,将仔细研究网站的响应,以尝试找出有趣的行为。

  • 通过robots.txt文件或目录列表显示隐藏目录的名称,它们的结构及其内容
  • 通过临时备份提供对源代码文件的访问
  • 在错误消息中明确提及数据库表或列名不必要地暴露高度敏感的信息,例如信用卡详细信息
  • 在源代码中对API密钥,IP地址,数据库凭证等进行硬编码
  • 通过应用程序行为的细微差别来提示是否存在资源,用户名等

git源码泄露

git源码泄露,只要有git目录存在,就可以尝试将其源码导出

利用githack工具,在ubuntu中先进入githack-master中,然后输入

代码语言:txt
复制
python GitHack.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泄露

代码语言:txt
复制
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系统对数据库访问语句过滤不严,入侵者在合法参数的位置传入特殊的字符、命令,实现对后台数据库的入侵。

  • 数据型
代码语言:txt
复制
Select  *  from table where id = xss
  • 字符型
代码语言:txt
复制
Select * from table where username = 'test'

文件上传漏洞

文件上传漏洞,网站WEB应用都有一些文件上传功能,比如文档、图片、头像、视频上传,当上传功能的实现代码没有严格校验上传文件的后缀和文件类型时,就可以上传任意文件,甚至可执行文件后门。

根据网站使用及可解析的程序脚本不同,可以上传的恶意脚本可以是PHP、ASP、JSP、ASPX文件等。

恶意文件传递给解释器去执行,之后就可以在服务器上执行恶意代码,可实现数据库执行、服务器文件管理,服务器命令执行等恶意操作。

命令执行

命令执行,应用程序有时需要调用一些执行系统命令的函数,而Web开发语言中部分函数可以执行系统命令,如PHP中的system、exec、shell_exec等函数。

当黑客控制这些函数的参数时,就可以将恶意的系统命令拼接到正常命令中,从而造成命令执行攻击,若当前用户为root用户,危害程度将更严重。

文件包含漏洞

文件包含,程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,而无需再次编写,这中文件调用的过程一般被称为文件包含。所有脚本语言都会提供文件包含的功能,但文件包含漏洞在PHPWeb Application中居多,而在JSP、ASP、ASP.NET程序中却非常少,甚至没有。

常见包含函数有 :include()、require()

类型分为:本地包含、远程包含。

文件包含函数加载的参数没有经过过滤或者严格的定义,可以被用户控制,包含其他恶意文件,导致了执行了非预期的代码。


路过

雷人

握手

鲜花

鸡蛋

QQ|Archiver|手机版|小黑屋|软件开发编程门户 ( 陇ICP备2024013992号-1|甘公网安备62090002000130号 )

GMT+8, 2025-1-18 09:47 , Processed in 0.045986 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部