web应⽤安全测试之信息泄露
⽂章⽬录
<泄漏敏感信息
漏洞描述
搜索引擎可以通过robots⽂件可以获知哪些页⾯可以爬取,哪些页⾯不可以爬取。
Robots协议是⽹站国际互联⽹界通⾏的道德规范,其⽬的是保护⽹站数据和敏感信息、确保⽤户个⼈信息和隐私不被侵犯,如果⽂件编辑的太过详细,反⽽会泄露⽹站的敏感⽬录或者⽂件,⽐如⽹站后台路径,从⽽得知其使⽤的系统类型,从⽽有针对性地进⾏利⽤。
测试⽅法:
检测形式多样,⼯具爬⾍扫描得到敏感⽂件的路径,从⽽到robots⽂件;
⼿⼯挖掘,直接在域名后输⼊/进⾏查看。
风险分析:
攻击者可通过发现⽂件,收集⽹站的敏感⽬录或⽂件,从⽽有针对性的进⾏利⽤。
风险等级:
【低危】:中存在allow和disallow的具体内容泄露敏感⽬录信息。
修复⽅案
可根据实际情况,进⾏如下对应的修复:
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、隐私数据(如短消息的内容)、授权凭据、个⼈数据(如姓名、住址、电话等)等,在程序⽂件、配置⽂件、⽇志⽂件、备份⽂件及数据库中都有可能包含敏感数据。
测试⽅法:
检测形式多样,⼯具爬⾍扫描得到敏感⽂件的路径,从⽽到敏感数据,
⼿⼯挖掘,根据web容器或者⽹页源代码的查看,到敏感信息。
风险分析:
攻击者可通过上述⽅式获取⽹站敏感⽂件,收集⽹站敏感信息,从⽽有针对性的进⾏利⽤。
风险等级:
【⾼危】:返回含有重要的敏感信息的⽂件,⽐如数据库⽂件、代码的备份⽂件或svn、git版本控制⽂件等。
修复⽅案:
1、禁⽌在代码中存储敏感数据:禁⽌在代码中存储如数据库连接字符串、⼝令和密钥之类的敏感数据,这样容易导致泄密。⽤于加密密钥的密钥可以硬编码在代码中。
2、禁⽌密钥或帐号的⼝令以明⽂形式存储在数据库或者⽂件中:密钥或帐号的⼝令必须经过加密存储。
例外情况,如果Web容器的配置⽂件中只能以明⽂⽅式配置连接数据库的⽤户名和⼝令,那么就不⽤强制遵循该规则,将该配置⽂件的属性改为只有属主可读写。
3、禁⽌在 cookie 中以明⽂形式存储敏感数据:cookie信息容易被窃取,尽量不要在cookie中存储敏感数据;如果条件限制必须使⽤cookie存储敏感信息时,必须先对敏感信息加密再存储到cookie。
4、禁⽌在隐藏域中存放明⽂形式的敏感数据。
5、禁⽌⽤⾃⼰开发的加密算法,必须使⽤公开、安全的标准加密算法。
6、禁⽌在⽇志中记录明⽂的敏感数据:禁⽌在⽇志中记录明⽂的敏感数据(如⼝令、会话标识jsessionid等),防⽌敏感信息泄漏。
7、禁⽌带有敏感数据的Web页⾯缓存:带有敏感数据的Web页⾯都应该禁⽌缓存,以防⽌敏感信息泄漏或通过代理服务器上⽹的⽤户数据互窜问题。
过时的、⽤于备份的或者开发⽂件残留
漏洞描述
应⽤遗留的过时⽂件、备份页⾯、渗透测试遗留⽂件、开发⽂件残留的测试⽂件等。
测试⽅法:
常见检测⽅法是通过对⽹站进⾏web漏洞扫描,直接利⽤爬⾍来爬取⽹站可能存在的路径以及链接,如果存在备份⽂件,则可通过web 直接进⾏下载。
也可以通过⾃⾏构造字典,对⽹站某⼀⽬录下,指定字典进⾏爆破,常见的扫描⼯具有wwwscan、御剑后台扫描⼯具等。
风险分析
攻击者可通过上述⽅式获取⽹站备份⽂件、过时⽂件、遗留⽂件等内容,收集⽹站敏感信息,从⽽有针对性的进⾏利⽤。
风险等级
【⾼危】:泄露重要敏感信息,或能够进⾏核⼼业务操作。
【中危】:泄露⼀般重要信息,做只能进⾏⼀般功能操作。
【低危】:页⾯泄露⾮重要信息,不能进⾏相关功能操作。
修复⽅案:
1、⽹站管理员严格检查web中可访问的路径下是否存在备份⽂件,常见备份⽂件后缀为.jsp.bak、.bak、.sql、.txt、等等。如果有这些⽂件,直接将该备份⽂件进⾏转移到其他⽬录或者直接删除即可。
2、严格控制可⽹站可访问⽬录下的⽂件敏感度的存放问题,不要将敏感⽂件置于该⽬录。
报错页⾯敏感信息泄漏
漏洞描述
错误页⾯由服务器产⽣403、404、500等错误时,返回详细错误信息。
报错信息中可能会包含服务器代码信息、数据库连接信息、SQL语句或者敏感⽂件的路径,为攻击者收集信息提供了⽅便。
测试⽅法:
通过⽬录扫描或⼿⼯输⼊不存在的⽂件或路径,触发服务器产⽣404错误并返回404页⾯;
通过⽬录扫描或⼿⼯输⼊⼀个⽆权限查看的⽂件或路径,触发服务器产⽣403错误并返回403页⾯;
⼿⼯输⼊不存在的参数或特殊构造的字符串,如单引号,尖括号等,触发服务器产⽣500错误并返回500页⾯或异常信息。
风险分析
攻击者可通过上述⼏种⽅式触发Web应⽤程序报错,提取报错信息泄露的敏感信息,如Web中间件的版本信息、数据库连接信息。风险等级:
【⾼危】:开启调试模式,泄露⼤量应⽤的敏感信息如代码、报错信息等;
【低危】:未开启调试模式,泄露部分中间件版本、少量代码信息等。
修复⽅案:
1. 编码时增加异常处理模块,对错误页⾯做统⼀的⾃定义返回界⾯,隐藏服务器版本信息;
2. 不对外输出程序运⾏时产⽣的异常错误信息详情。
物理路径泄漏
漏洞描述
应⽤中泄露出应⽤在主机中的绝对地址路径。
测试⽅法:
打开⽹页源代码,查看图⽚等媒体的链接及超链接;
通过报错信息获取
风险分析
攻击者可通过获取⽹站物理路径,为下⼀步攻击做准备。
风险等级:
【低危】:泄露应⽤绝对路径
修复⽅案:
1、媒体链接和超链接采⽤相对路径的表达⽅式;
2、报错信息中不对外输出⽹站物理路径等敏感信息。
明⽂密码本地保存
漏洞描述
明⽂密码保存在本地客户端
测试⽅法:
查看⽹页源代码
查看⽹站在本地客户端的缓存⽂件
风险分析
攻击者可通过嗅探或直接查看源代码的⽅式获取传输到前端的账号及密码,登录他⼈账号。
风险等级:
【⾼危】:全部账号的明⽂密码保存在本地客户端
【低危】:只有本账号的明⽂密码保存在本地客户端
修复⽅案
禁⽌将密码保存到本地客户端,即便是加密后的密码也不建议保存在本地,攻击者可利⽤密⽂格式的密码登录或修改其他账户的密码。⼊侵痕迹残留
漏洞描述
在渗透过程中发现应⽤中存在曾经的⼊侵痕迹,如存在的webshell⽂件。
测试⽅法
通常使⽤Web应⽤安全漏洞扫描⼯具或⽬录扫描⼯具发现⼊侵痕迹。
风险分析
残留的⼊侵痕迹可被其他攻击者⽤于⼆次攻击,对⽹站造成⼀定的影响。
风险等级:
【⾼危】:发现存在⼊侵痕迹,⽐如存在Webshell或者⽹页被篡改。
修复⽅案
可借助⼯具全盘清理⼊侵痕迹,如D盾可以扫描Windows系统中的webshell。
HTTP头信息泄漏
漏洞描述
在服务器返回的HTTP头中泄露服务器信息
测试⽅法:
在浏览器的调试窗⼝中查看HTTP响应头
使⽤代理软件如burpsuite、fiddler,拦截HTTP响应头
风险分析
攻击者可通过获取服务器banner信息,针对某个版本存在的漏洞进⾏定向攻击。
风险等级:
【低危】:泄露服务器版本等信息
修复⽅案
隐藏或者修改banner信息。
⽬录浏览
漏洞描述
⽬录浏览漏洞是由于⽹站存在配置缺陷,存在⽬录可浏览漏洞,这会导致⽹站很多隐私⽂件与⽬录泄露
⽐如数据库备份⽂件、配置⽂件等,攻击者利⽤该信息可以更容易得到⽹站权限,导致⽹站被⿊。
测试⽅法
可以利⽤web漏洞扫描器扫描web应⽤进⾏检测,也可通过搜索,⽹站标题包含“index of”关键词的⽹站进⾏访问。
风险分析
攻击者通过访问⽹站某⼀⽬录时,该⽬录没有默认⾸页⽂件或没有正确设置默认⾸页⽂件,将会把整个⽬录结构列出来,将⽹站结构完全暴露给攻击者;
攻击者可能通过浏览⽬录结构,访问到某些隐秘⽂件(如PHPINFO⽂件、服务器探针⽂件、⽹站管理员后台访问地址、数据库连接⽂件等)。
风险等级:
【⾼危】:⽬录可以浏览,泄露包含密码、个⼈信息等敏感⽂件。
【低危】:⽬录可以浏览,未泄露包含密码、个⼈信息等敏感⽂件。
修复⽅案
⽬前存在该漏洞的常见中间件为apache和IIS,以下列出其相关的修复⽅式:
*  IIS中关闭⽬录浏览功能:在IIS的⽹站属性中,勾去“⽬录浏览”选项,重启IIS。
* Apache中关闭⽬录浏览功能:打开Apache配置⽂件f,查“Options Indexes FollowSymLinks”,修改为“ Options -Indexes”(减号表⽰取消,保存退出,重启Apache。
*  Nginx中默认不会开启⽬录浏览功能,若您发现当前已开启该功能,可以编辑f⽂件,删除如下两⾏:autoindex on;autoindex_exact_size on;重启N ginx。
默认页⾯泄漏
漏洞描述
存在默认安装中间件、插件、框架等会携带⽰例页⾯及说明⽂档。
测试⽅法:
可以利⽤web漏洞扫描器或⽬录扫描器扫描web应⽤进⾏检测
根据⽹站使⽤的第三⽅组件和框架⼿⼯输⼊对应的⽰例页⾯。
风险分析web端登录
攻击者可利⽤默认页⾯提供的功能和信息对服务器进⾏攻击。
风险等级:
【⾼危】:存在可访问默认页⾯,泄露⾼风险敏感信息(如:tomcat 的 examples ⽬录)。
【中危】:存在可访问默认页⾯,泄露于业务、操作和配置相关的敏感信息。
【低危】:存在可访问的默认页⾯,但未泄露敏感信息。
修复⽅案
建议在不影响业务的前提下删除默认页⾯。
存在可访问的管理后台⼊⼝
漏洞描述
应⽤存在未限制访问的后台,或者能直接登录管理后台。
测试⽅法:
可以利⽤web漏洞扫描器或⽬录扫描器扫描web应⽤进⾏检测
识别⽹站使⽤的cms框架,判断其默认的管理后台地址。
.在⽹站中寻管理后台超链接。
风险分析

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。