程序员人生 网站导航

看好你的门-客户端传数据(2)-不安全的URL参数

栏目:互联网时间:2015-03-19 08:13:50

首先需要声明,本文纯属1个毫无远见和真才实学的小小开发人员的愚昧见解,仅供用于web系统安全方面的参考。

1、 简单说明

利用程序通常以终端用户没法直接查看或修改的方式向服务器传送数据。很多的时候,开发者都优先斟酌实现基本效果,而很少去斟酌我们所采取的传输机制能够确保数据在传输进程中不会被修改。
在互联网中,大量的数据通过URL参数的方式进行传递,大部份的数据,是没有通过加密进行传输。在我所了解到的情况,大部份的数据是通过明码进行…

2、 优点:

  1. 不用追踪用户会话中的数据,减少保持在服务器上的数据,提高服务器处理的性能;
  2. 大型系统中,都会使用负载均衡,还能下降负载均衡装备的压力;
  3. 下降其他组件的复杂性;
  4. 开发、联调方便;
  5. 其他优点…

3、 URL参数传递

用户阅读产品目录的时候,1般系统都会给用户指派1个URL,类似下面:
http://127.0.0.1:8080/webStudy/url.jsp?price=2199&code=p7
固然,如果包括参数的URL显示在阅读器地址栏中,很多人知道,这个好像是不太安全的。固然,我们也要相信这类情况肯定有,不过应当是极少数。
很多种的情况,是我们不希望用户直接查看的,我们会用1些其他的方法,比如系统通过弹出窗口或隐藏阅读器地址的方式来进行貌似高安全的方法。

1些购物网站也是这样做的,通过隐藏字段来保持商品的价格。之前这类做法很常见,现在是不是消失,我也不肯定…

4、 通过URL参数传递的源代码

url.jsp
<%@ page language=”java” import=”java.util.,javax.servlet.http.” pageEncoding=”UTF⑻”%>



看好你的门-阿饭同学


登陆成功,欢迎来自<%=(String)request.getRemoteAddr()%> 的用户。

购买了华为手机,
型号为:<%=(String)request.getParameter(“code”)%>
单价<%=(String)request.getParameter(“price”)%>

在阅读器上输入:http://127.0.0.1:8080/webStudy/url.jsp?price=2199&code=p7
显示:
登陆成功,欢迎来自127.0.0.1 的用户。
购买了华为手机,
型号为:p7
单价2199

5、 被攻击

虽然价格字段没有显示在屏幕上,看起来用户也不能去修改。 但是客户真个1切终究操作都是用户控制,用户编辑这个价格就能够消除这个限制。
1、 最简单的方法,点击右键取得这个隐藏的URL参数,然后把这个参数进行修改,然后载入阅读器,那末结果就产生了变化; 比如:http://127.0.0.1:8080/webStudy/url.jsp?price=122&code=p7

2、 通过拦截服务器对数据直接进行修改。

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐