软件应用程序安全开发指南(SDLC)(16)
2023-06-18 来源:飞速影视
这个漏洞事实上也是与认证相关的,与我们前面提到的不安全的直接对
象引用也是类似的,不同在于这个漏洞是指系统已经对URL的访问做了限
制,但这种限制却实际并没有生效。常见的错误是,我们在用户认证后只显
示给用户认证过的页面和菜单选项,而实际上这些仅仅是表示层的访问控制而不能真正生效,攻击者能够很容易伪造请求直接访问未被授权的页面。
编程要求:
· 如果URL不是公开的,那么必须限制能够访问的授权用户;
· 加强基于用户或角色的访问控制;
· 完全禁止访问未被授权的页面类型(如配置文件、日志文件、源文件等);
· 验证你的构架;
· 在每一个层次都使用简单肯定的模型;
· 确保每一层都有一个访问机制;
· 验证你的实现;
· 不能使用自动化的分析工具;
· 确保每个URL都被外部过滤器或其他机制保护;
· 确保服务器的配置不允许对非授权页面的访问。
3.5.PHP安全开发要求
3.5.1.变量滥用
PHP-4.1.0发布的时候建议关闭register_globals,并提供了7个特殊的数
组变量来使用各种变量。对于从GET、POST、COOKIE等来的变量并不会直接注册成变量,必需通过数组变量来存取。PHP-4.2.0发布的时候,php.ini默认配置就是register_globals=Off。这使得程序使用PHP自身初始化的默
认值,一般为0,避免了攻击者控制判断变量。通过以下解决方法实现:
配置文件php.ini设置register_globals=Off。
要求程序员对作为判断的变量在程序最开始初始化一个值。
3.5.2.文件打开如非特殊需要,把php的文件操作限制在Web目录里面。以下是修改apache配置文件httpd.conf的一个例子:
<Directory/usr/local/apache/htdocs>php_admin_valueopen_basedir/usr/local/apache/htdocs
</Directory>
重启apache后,/usr/local/apache/htdocs目录下的PHP脚本就只能操作
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)
www.fs94.org-飞速影视 粤ICP备74369512号