会话和cookie是这一部分最重要的内容。安全使用app系统时,如何根据客户的身份提供不同的功能和相关数据,大家都有过这样的经历。例如,当你访问淘宝,时,你不会把你喜欢的产品添加到别人的购物车中。如何区分不同的客户?打开任何网站,抓取包,cookie字段就存在了。Cookies会随着客户的操作自动提交给服务器。为了区分认证前和认证后,用户可以在认证成功后在cookies上写一个标记,服务器在处理请求时可以判断这个标记。
对于设置标志,如果客户的名字直接以显式或加密的方式放在cookie中,如果加密方式被破解,客户的身份可能是伪造的,所以不建议将客户的身份信息直接插入cookie中。关于客户身份的设置,还有一个会话机制。用户认证成功后,客户的个人信息和身份信息被写入会话,cookie中只出现sessionID。服务器通过sessionID在服务器上找到指定的数据。服务器内存在敏感数据,sessionID值为随机字符串,攻击者很难猜测其他用户的sessionID,从而伪造客户身份。当我们安全使用xss漏洞时,我们都喜欢从客户那里获取cookie。获得cookie后最重要的字段是sessionID。有了他,我们可以伪造他人的身份,获取他们的数据。
根据对话内容,可以完成以下操作:
Job 1:搜索几个可以通过搜索引擎注册的网站。burp抓取包并分析注册后的对话是如何实现的,是否使用session保存用户信息,令牌是否可以伪造,用户信息是否保存在cookie中等。作业2:基于前一个作业开发的登录身份验证页面。认证成功后,对不同的账户设置不同的权限,使用cookie和session显示客户身份,并测试不同显示模式下可能存在的安全风险。记录测试过程和结果、相关代码和设计思路,形成报告,分享并一起讨论。
目前网站和App安全漏洞中关于获取SESSION和COOKIES的问题很多,很多程序员对一些提交功能没有做更多的过滤,导致被恶意XSS代码插入,获取后台权限。如果想更全面地检测安全漏洞,可以向国内网站安全公司等人工渗透测试服务寻求帮助。