您的位置:首页 > 其它

安全测试之整数溢出的一个实例

2016-02-16 14:08 197 查看
假设在我们的web应用中有这样一段代码:

[code]String quantity= request.getParameter("quantity"); //参数quantity指代商品的数量
int qua = Integer.parseInt(quantity);
if(qua>0){
   int totalMoney = qua*100; //计算总金额
   }


某个人啊,可能是因为打错数字了,可能是因为不小心,也有可能是故意的,甚至角色可以是普通人,也可以白帽子、黑帽子等,quantity输了一个比较大的数目“42949671”。

在收到用户输入的quantity之后,执行这段代码,结果得出totalMoney=-196(补码),。。。。。。WOW,用户岂不是买了很多东西还得到了196元,反过来从商家的角度来看,这是要亏死的节奏啊啊啊!!

这类问题主要设计在购买类的应用中,可是涉及到money的哟,务必不能让它发生才是!

附:计算-196的过程:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: