3.4 代码注释
3.5 归档要求
规则4.6.1:版本归档时,必须删除开发过程(包括现场定制)中的临时文件、备份文件、无用目录等。
说明:恶意用户可以通过URL请求诸如.bak之类的文件,Web服务器会将这些文件以文本方式呈现给恶意用户,造成代码的泄漏,严重威胁Web应用的安全。
实施指导:
请务必删除如下一些后辍的文件:
.old、.OLD、.bak、.BAK、.temp、.save、.backup、.orig、.000、~、~1、.dwt、.tpl
规则4.6.2:归档的页面程序文件的扩展名必须使用小写字母。
说明:很多Web server对大小写是敏感的,但对后缀的大小写映像并没有做正确的处理。攻击者只要在URL中将JSP文件后缀从小写变成大写,Web服务器就不能正确处理这个文件后缀,而将其当作纯文本显示。攻击者可以通过查看源码获得这些程序的源代码。因此,归档的页面程序文件的扩展名必须使用小写字母,如jsp、html、htm、asp等页面程序文件的扩展名分别为jsp、html、htm、asp。
规则4.6.3:归档的程序文件中禁止保留调试用的程序/代码,务必删除的会话管理工具。
说明:这里的“调试用的程序/代码”是指开发过程中进行临时调试所用的、在Web应用运行过程中不需要使用到的程序/代码。特别要指出的是的会话管理工具(bizstat.jsp和exportConversationSnapshot.jsp),必须删除,否则,任何人无须登陆就可以查看所有的会话标识(包括CID和SESSIONID),从而冒充其他用户访问系统,也可以频繁调用会话快照导出功能,导致DoS攻击。