我目前已经构建了一个系统,用于检查用户IP,浏览器和随机字符串cookie,以确定他是否是管理员.
在最糟糕的情况下,有人窃取我的cookie,使用我做的相同浏览器,并屏蔽他的IP以显示为我的.是否有另一层安全性我应该添加到我的脚本中以使其更安全?
编辑:澄清:我的网站绝对不接受用户的任何输入.我只是设计一个后端管理面板,以便更新数据库条目.
检查浏览器是完全和绝对的代码浪费.编写一个对攻击者来说无足轻重的安全系统是没有意义的.如果攻击者通过xss获取会话ID或嗅探该行,那么他们也将拥有您的"用户代理".
检查IP地址将强制攻击者使用XSS + XHR或XSRF"骑"到会话.这是因为被劫持的令牌不能在他的盒子上工作.不幸的是,这也会给使用多个IP地址之间的传出负载平衡的公司网络带来问题.
HTTPS 必须用于整个会话.您的令牌绝不能通过HTTP发送.这显然在2010年OWASP Top 10中的"Broken Authentication and Session Management"中有所体现,如果您正在编写会话处理程序,则必须阅读.
会话ID必须始终超时. 如果他们不这样做,那么这被称为不朽会话,这是一个公认的漏洞.
更进一步,我担心你的令牌的随机性.确保您的研究如何正确生成加密随机数.确保您的随机数生成器很强大并且播种者提供了攻击者无法知道的信息.
我还怀疑你没有考虑过XSS和XSRF.如果您未选中主要漏洞,那么在其他区域进行会话的强度并不重要.确保使用免费的xss扫描仪或开源马鹿扫描您的应用程序.请记住,除非您专门修补,否则任何测试都不会准确检测XSRF并且应用程序中的每个请求都是易受攻击的.