Web应用安全—信息泄露

        从书本和网上了解到Web应用安全的信息泄露的知识,今天跟大家分享点。

 robots.txt泄漏敏感信息

        漏洞描述:搜索引擎可以通过robots文件可以获知哪些页面可以爬取,哪些页面不可以爬取。Robots协议是网站国际互联网界通行的道德规范,其目的是保护网站数据和敏感信息、确保用户个人信息和隐私不被侵犯,如果robots.txt文件编辑的太过详细,反而会泄露网站的敏感目录或者文件,比如网站后台路径,从而得知其使用的系统类型,从而有针对性地进行利用。

        测试方法:

        1、检测形式多样,工具爬虫扫描得到敏感文件的路径,从而找到robots文件;

        2、手工挖掘,直接在域名后输入/robots.txt进行查看。

风险分析:攻击者可通过发现robots.txt文件,收集网站的敏感目录或文件,从而有针对性的进行利用。

        修复方案:可根据实际情况,进行如下对应的修复:

        1、 User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符

        2、 Disallow: / 这里定义是禁止爬寻站点所有的内容

        3、 Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录

        4、 Disallow: /ABC/ 这里定义是禁止爬寻ABC目录下面的目录

        5、 Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的所有以".htm"为后缀的URL(包含子目录)。

        6、 Disallow: /*?* 禁止访问网站中所有包含问号 (?) 的网址

        7、 Disallow: /.jpg$ 禁止抓取网页所有的.jpg格式的图片

        8、 Disallow:/ab/adc.html 禁止爬取ab文件夹下面的adc.html文件。

        9、 Allow: /cgi-bin/ 这里定义是允许爬寻cgi-bin目录下面的目录

        10、Allow: /tmp 这里定义是允许爬寻tmp的整个目录

        11、Allow: .htm$ 仅允许访问以".htm"为后缀的URL。

        12、Allow: .gif$ 允许抓取网页和gif格式图片

        13、Sitemap: 网站地图 告诉爬虫这个页面是网站地图。

敏感文件信息泄漏

        漏洞描述:敏感数据包括但不限于:口令、密钥、证书、会话标识、License、隐私数据(如短消息的内容)、授权凭据、个人数据(如姓名、住址、电话等)等,在程序文件、配置文件、日志文件、备份文件及数据库中都有可能包含敏感数据。

        测试方法:

  1. 检测形式多样,工具爬虫扫描得到敏感文件的路径,从而找到敏感数据,
  2. 手工挖掘,根据web容器或者网页源代码的查看,找到敏感信息。

        风险分析:攻击者可通过上述方式获取网站敏感文件,收集网站敏感信息,从而有针对性的进行利用。

        修复方案:

  1. 禁止在代码中存储敏感数据:禁止在代码中存储如数据库连接字符串、口令和密钥之类的敏感数据,这样容易导致泄密。用于加密密钥的密钥可以硬编码在代码中。
  2. 禁止密钥或帐号的口令以明文形式存储在数据库或者文件中:密钥或帐号的口令必须经过加密存储。例外情况,如果Web容器的配置文件中只能以明文方式配置连接数据库的用户名和口令,那么就不用强制遵循该规则,将该配置文件的属性改为只有属主可读写。
  3. 禁止在 cookie 中以明文形式存储敏感数据:cookie信息容易被窃取,尽量不要在cookie中存储敏感数据;如果条件限制必须使用cookie存储敏感信息时,必须先对敏感信息加密再存储到cookie。
  4. 禁止在隐藏域中存放明文形式的敏感数据。
  5. 禁止用自己开发的加密算法,必须使用公开、安全的标准加密算法。
  6. 禁止在日志中记录明文的敏感数据:禁止在日志中记录明文的敏感数据(如口令、会话标识jsessionid等), 防止敏感信息泄漏。
  7. 禁止带有敏感数据的Web页面缓存:带有敏感数据的Web页面都应该禁止缓存,以防止敏感信息泄漏或通过代理服务器上网的用户数据互窜问题。

明文密码本地保存

        漏洞描述:漏洞描述:明文密码保存在本地客户端

        测试方法:

  1. 查看网页源代码
  2. 查看网站在本地客户端的缓存文件

        风险分析:攻击者可通过嗅探或直接查看源代码的方式获取传输到前端的账号及密码,登录他人账号。

        修复方案:禁止将密码保存到本地客户端,即便是加密后的密码也不建议保存在本地,攻击者可利用密文格式的密码登录或修改其他账户的密码。

入侵痕迹残留

        漏洞描述:在渗透过程中发现应用中存在曾经的入侵痕迹,如存在的webshell文件。

        测试方法:通常使用Web应用安全漏洞扫描工具或目录扫描工具发现入侵痕迹。

        风险分析残留的入侵痕迹可被其他攻击者用于二次攻击,对网站造成一定的影响。

        修复方案:可借助工具全盘清理入侵痕迹,如D盾可以扫描Windows系统中的webshell。 

参数溢出

        漏洞描述:攻击者在参数中输入超长字符串,导致数据溢出,致使应用或者数据库报错引发相关信息泄露,或者引起拒绝服务攻击等问题。

        测试方法:在前端可控参数中输入超长字符串

        风险分析:攻击者可通过输入参数溢出触发应用服务器异常或服务器拒绝服务,影响系统可用性。

        修复方案:限制输入参数内容的长度。

过时的、用于备份的或者开发文件残留

        漏洞描述:应用遗留的过时文件、备份页面、渗透测试遗留文件、开发文件残留的测试文件等。

        测试方法:

  1. 常见检测方法是通过对网站进行web漏洞扫描,直接利用爬虫来爬取网站可能存在的路径以及链接,如果存在备份文件,则可通过web直接进行下载。
  2. 也可以通过自行构造字典,对网站某一目录下,指定字典进行爆破,常见的扫描工具有wwwscan、御剑后台扫描工具等。

        风险分析:攻击者可通过上述方式获取网站备份文件、过时文件、遗留文件等内容,收集网站敏感信息,从而有针对性的进行利用。

        修复方案:

  1. 网站管理员严格检查web中可访问的路径下是否存在备份文件,常见备份文件后缀为.jsp.bak、.bak、.sql、.txt、等等。如果有这些文件,直接将该备份文件进行转移到其他目录或者直接删除即可。
  2. 严格控制可网站可访问目录下的文件敏感度的存放问题,不要将敏感文件置于该目录。

你可能感兴趣的:(安全,网络安全,web安全)