java购物车代码-qq飞车t车合体车代码
发布时间:2023-04-18 09:01 浏览次数:次 作者:佚名
Web应用程序可以同时处理很多HTTP请求。开发人员常常在使用变量时不注意线程安全问题。
线程安全是指一个对象或类的成员变量在多线程并发访问的时候总是保持有效的状态。
当另一个用户在同一时刻加载同一个页面时,可能存在可被利用的并发漏洞。
下面是一个购物车并发漏洞的模拟实验。实验环境的介绍请参考:Web安全漏洞实验平台Webgoat学习(1):怎么用?
实验页面如下图所示,你的目标是利用存在的购物车并发漏洞,以较低的价格购买高价格商品。
实验步骤如下:
1. 开启两个浏览器窗口,窗口A中,选择较便宜的商品,如$169的Hitachi - 750GB External Hard Drive,点击【Update Cart】按钮将商品加入购物车java购物车代码,然后点击【Purchase】购买按钮。如图:
窗口A中点Purchase按钮后
2. 在窗口 B 中,选择较贵的商品,如$1799的Sony - Vaio with Intel Centrino,然后按【Update Cart】更新购物车按钮。如图:
窗口B中选择较贵的商品,点更新购物车
3. 打开窗口 A,点击【Confirm】确认按钮,结果显示以较低的价格$169购买到了价格为$1799的商品java购物车代码,实验目标完成。如图:
窗口A中点【Confirm】确认按钮后
原因:
在代码中使用了静态变量,且都没有做线程安全保护,代码(JAVA)如下:
// Shared Variables private static int total = 0; private static float runningTOTAL = 0; private static int subTOTAL = 0; private static float calcTOTAL = 0; private static int quantity1 = 0; private static int quantity2 = 0; private static int quantity3 = 0;