安全测试之整数溢出的一个实例
2016-02-16 14:08
197 查看
假设在我们的web应用中有这样一段代码:
某个人啊,可能是因为打错数字了,可能是因为不小心,也有可能是故意的,甚至角色可以是普通人,也可以白帽子、黑帽子等,quantity输了一个比较大的数目“42949671”。
在收到用户输入的quantity之后,执行这段代码,结果得出totalMoney=-196(补码),。。。。。。WOW,用户岂不是买了很多东西还得到了196元,反过来从商家的角度来看,这是要亏死的节奏啊啊啊!!
这类问题主要设计在购买类的应用中,可是涉及到money的哟,务必不能让它发生才是!
附:计算-196的过程:
[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的过程:
相关文章推荐
- try catch finally 正确使用方法
- 1809两倍(2.1)
- linux上配置spark集群
- fuel7.0 openstack webui 默认密码查看
- [原创破解] Charles.Proxy.v3.11b4.x32/x64.Cracked.by.yoza[CCG/UpK]
- c语言入门之项目1.4——指针变量2
- 宿主机-开发板设置NFS共享目录(2)
- 30岁的出路
- 贴吧吧主诋毁淘宝店赔偿2000元
- 百度员工离职总结:资质平庸的人该怎么办?震惊了无数人!
- 调用系统相机写入DCIMPath
- 通往全栈工程师的捷径 —— react
- 对于一个不可修改的类,它的每个对象是不是都必须声明成final的?
- Android实现在webview中长按图片弹出菜单保存图片
- Linux命令学习之nslookup
- SQL常用命令
- 使用ArcGis10.2通过Dem提取山顶点(原创)
- ibatis的selectkey
- Mongodb Wiredtiger存储引擎实现原理
- 发布漏洞的一些网站