2019测试指南-web应用程序安全测试(二)查看信息泄漏的网页注释和元数据

程序员在源代码中包含详细的注释和元数据是很是常见的,甚至是推荐的。可是,HTML代码中包含的注释和元数据可能会泄露潜在攻击者没法得到的内部信息。应该进行评论和元数据审查,以肯定是否泄露了任何信息。html

 

测试目标

查看网页评论和元数据,以便更好地了解应用程序并查找任何信息泄漏。程序员

 

如何测试

开发人员常用HTML注释来包含有关应用程序的调试信息。有时他们会忘记评论,并将其留在生产中。测试人员应该查找以“”开头的HTML注释。数据库

 

黑盒测试

检查HTML源代码以获取包含敏感信息的注释,这些注释能够帮助攻击者更深刻地了解应用程序。它多是SQL代码,用户名和密码,内部IP地址或调试信息。浏览器

... <div class =“table2”> <div class =“col1”> 1 </ div> <div class =“col2”> Mary </ div> <div class =“col1”> 2 </ div> <div class =“col2”> Peter </ div> <div class =“col1”> 3 </ div> <div class =“col2”> Joe </ div> <! - 查询:SELECT id,name FROM app.users WHERE active ='1' - > </ DIV> ... 


测试人员甚至可能会发现这样的事情:缓存

<! - 使用数据库管理员密码进行测试:f @ keP @ a $$ w0rD - > 


检查HTML版本信息以获取有效的版本号和数据类型定义(DTD)URL服务器

<!DOCTYPE HTML PUBLIC“ - // W3C // DTD HTML 4.01 // EN”“ http://www.w3.org/TR/html4/strict.dtd ”> 
  • “strict.dtd” - 默认严格DTD
  • “loose.dtd” - 松散的DTD
  • “frameset.dtd” - 框架集文档的DTD


某些Meta标签不提供主动攻击向量,而是容许攻击者对应用程序进行概要分析app

<META name =“Author”content =“Andrew Muller”> 


某些Meta标记会更改HTTP响应标头,例如http-equiv,它根据元素的content属性设置HTTP响应标头,例如:框架

<META http-equiv =“Expires”content =“Fri,21 Dec 2012 12:34:56 GMT”> 

这将致使HTTP标头:工具

到期日:2012年12月21日星期五12:34:56 GMT 

测试

<META http-equiv =“Cache-Control”content =“no-cache”> 

会致使

缓存控制:无缓存 

测试是否能够用于进行注射攻击(例如CRLF攻击)。它还能够帮助肯定经过浏览器缓存的数据泄漏级别。

一个常见的(但不符合WCAG标准)Meta标签是刷新。

<META http-equiv =“刷新”内容=“15;网址= https://www.owasp.org/index.html ”> 

Meta标签的一个常见用途是指定搜索引擎可用于提升搜索结果质量的关键字。

<META name =“keywords”lang =“en-us”content =“OWASP,security,sunshine,lollipops”> 

虽然大多数Web服务器经过robots.txt文件管理搜索引擎索引,但它也能够经过Meta标签进行管理。下面的代码会建议机器人不要编制索引,也不要关注包含标记的HTML页面上的连接。

<META name =“robots”content =“none”> 

用于因特网内容选择的平台(PICS)和用于Web描述资源的协议(POWDER)提供用于将元数据与因特网内容相关联的基础结构。

 

灰盒测试

不适用。

 

工具

  • wget的
  • 浏览器“查看源”功能
  • 眼球
  • 卷曲
相关文章
相关标签/搜索