WebGoat Day2 Concurrency
Thread Safety Problems
这一节主要是讲线程安全的问题,考虑并发性。一个Web服务器总是同时服务很多人的,并且是同时处理很多的HTTP请求的,如果开发人员使用的变量不是线程安全的话,会存在并发带来的安全威胁。因为所有的线程共享同一个方法区,而所有的类变量都存储在方法区,多个线程试图同时使用相同的类变量,会造成错误。’
线程的安全问题。假设有两个用户同时登陆一个网站查看自己的账户,如果他们在同一时间登陆的话,网站的反馈会发生错乱。该部分需要用两个浏览器,一个输入用户名“jeff”,一个输入用户名“dave”,需要以尽可能快的速度同时点击“提交”按钮。如图所示,两个人看到的都是jeff的账户,另一个dave的人却进入了jeff的账户。这是服务端并发性错误引起的。
Shopping Cart Concurrency Flaw
总结
多线程和并发安全在网络安全中也是需要考虑的。
实验过程
并发处理的错误会导致购买不同商品的客户拥有相同的结算价格。