看好你的门-客户端传数据(1)-不安全的隐藏表单字段
来源:互联网 发布:汉服复原小组淘宝 编辑:程序博客网 时间:2024/05/18 18:16
首先需要声明,本文纯属一个毫无远见和真才实学的小小开发人员的愚昧见解,仅供用于web系统安全方面的参考。
- 1、 简单说明
应用程序通常以终端用户无法直接查看或者修改的方式向服务器传送数据。很多的时候,开发者都优先考虑实现基本效果,而很少去考虑我们所采用的传输机制能够确保数据在传输过程中不会被修改。
如果一个特殊的数据,由服务器指定,然后想客户端输出这个值,最后还要把这个值传回到服务器进行处理。很多的时候,我们就直接作为一个参数,直接处理了,比如一个产品的价格,假设是华为手机P7,商品名称和价格都是从服务器中获取;然后显示给用户看;用户购买了手机之后,这个名称和价格,还要传回服务器。
- 2、 优点:
- 不用追踪用户会话中的数据,减少保持在服务器上的数据,提高服务器处理的性能;
- 大型系统中,都会使用负载均衡,还能降低负载均衡设备的压力;
- 降低其他组件的复杂性;
- 其他优点…
- 3、 隐藏表单字段
隐藏表单字段是实现一种数据来回传输的好方法,很多很多年,我第一次接触隐藏字段,用起来真的很方便。
它是一种表面上看起来无法修改,通过客户端传送数据的常用机制。因为隐藏了,所以用户不会看到这些数据,直到有一天,有人踹开了你的门…
一些购物网站也是这样做的,通过隐藏字段来保持商品的价格。以前这种做法很常见,现在是否消失,我也不确定…
- 4、 隐藏表单字段源代码
hide_price.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>看好你的门-阿饭同学 </title></head><body> <form action="aShopPrice.action" method="post" name="form1"> 商品:华为P7 <br> 价格:2199元 <br> 数量:<input type="text" name="quantity" > <br> <input type="hidden" name="price" value="2199" > <input type="submit" value="确认购买" /> </form></body></html>
- 5、 被攻击
虽然价格字段没有显示在屏幕上,看起来用户也不能去修改。 但是客户端的一切最终操作都是用户控制,用户编辑这个价格就可以解除这个限制。
1、 最简单的方法,保存这个html页面的源代码,然后编辑 中的value字段;然后用浏览器打开这个页面,然后进行购买。
2、 通过拦截服务器对数据直接进行修改。
0 0
- 看好你的门-客户端传数据(1)-不安全的隐藏表单字段
- 看好你的门-客户端传数据(8)-不安全的HTML表单限制
- 看好你的门-客户端传数据(2)-不安全的URL参数
- 看好你的门-客户端传数据(3)-不安全的http信息头
- 看好你的门-客户端传数据(6)-不安全的cookie
- 看好你的门-客户端传数据(7)-不安全的固定加密
- 看好你的门-客户端传数据(9)-不安全的js脚本限制
- 看好你的门-客户端传数据(10)-不安全的HTML禁用元素
- 看好你的门-客户端传数据(10)-不安全的HTML禁用元素
- 看好你的门-客户端传数据(4)-利用浏览器调整http的referer
- 看好你的门-客户端传数据(3)附录-http信息头说明
- 看好你的门-客户端传数据(5)-用java修改referer
- 看好你的门-攻击数据存储区(1)-SQL拼接被避开登陆
- 看好你的门-保护数据存储区(1)-SQL注入防御
- 看好你的门-攻击数据存储区(2)-SQL注入常用的一些技巧
- 看好你的门-攻击数据存储区(3)-攻击PreparedStatement的执行
- 看好你的门-保护数据存储区(2)-查看PreparedStatement最终执行的SQL
- 看好你的门-攻击数据存储区(4)-XPath注入攻击
- 文件上传 借助的是AsyncHttpClient
- 如何使用C++的泛型算法
- (win7 64位系统)VMware Workstation 11安装Mac OS X 10.10虚拟苹果系统
- 详解mysql int类型的长度值问题
- linux中select()函数分析
- 看好你的门-客户端传数据(1)-不安全的隐藏表单字段
- PLSQL查询结果中文乱码
- UVA1428
- TeeChart8.0注册
- 连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(1)
- Android程序员必备精品资源
- PAT1068 Find More Coins (背包问题)
- 《穹顶之下》的思考:柴静改变不了什么!
- Android性能专项测试之battery-historian试用