GET和POST的数据,PHP安全-HTTP请求欺骗

时间:2016-05-11 作者:周程诚 阅读:2399次

  GET和POST的数据,PHP安全-HTTP请求欺骗   这给了攻击者完全的控制权与灵活性,它进一步证明了不能盲目信任用户提交的任何数据,下面就是使用这个技巧请求,前面的请求可以用下面的PHP代码实现:。   一个比欺骗表单更高级和复杂的攻击方式是HTTP请求欺骗。这给了攻击者完全的控制权与灵活性,它进一步证明了不能盲目信任用户提交的任何数据。   为了演示这是如何进行的,请看下面位于   <p>Please select a color:   <option value="red">Red</option>   value="green">Green</option>   value="blue">Blue</option>   <input type="submit" value="Select"   如果用户选择了Red并点击了Select按钮后,浏览器会发出下面的HTTP请求:   看到大多数浏览器会包含一个来源的URL值,你可能会试图使用$_SERVER变量去防止欺骗。确实,这可以用于对付利用标准浏览器发起的攻击,但攻击者是不会被这个小麻烦给挡住的。通过编辑HTTP请求的原始信息,攻击者可以完全控制HTTP头部的值,GET和POST的数据,以及所有在HTTP请求的内容。   攻击者如何更改原始的HTTP请求?过程非常简单。通过在大多数系统平台上都提供的Te实用程序,你就可以通过连接服务器的侦听端口来与Web服务器直接通信。下面就是使用这个技巧请求   Date: Sat, 21 May 2005 12:34:56 GMT   <title>Example Web Page</title>   <p>You have reached this web page by typing   &quot;example&quot;, or   &quot;example&quot;</p>   <p>These domain names are reserved for use   上例中所显示的请求是符合HTTP/规范的最简单的请求,这是因为Host信息是头部信息中所必须有的。一旦你输入了表示请求结束的连续两个换行符,整个HTML的回应即显示在屏幕上。   Te实用程序不是与Web服务器直接通信的唯一方法,但它常常是最方便的。可是如果你用PHP编码同样的请求,你可以就可以实现自动操作了。前面的请求可以用下面的PHP代码实现:   当然,还有很多方法去达到上面的目的,但其要点是HTTP是一个广为人知的标准协议,稍有经验的攻击者都会对它非常熟悉,并且对常见的安全漏洞的攻击方法也很熟悉。   相对于欺骗表单,欺骗HTTP请求的做法并不多,对它不应该关注。我讲述这些技巧的原因是为了更好的演示一个攻击者在向你的应用输入恶意信息时是如何地方便。这再次强调了过滤输入的重要性和HTTP请求提供的任何信息都是不可信的这个事实。   value="green">Green</option>,<input type="submit" value="Select",<p>You have reached this web page by typing,当然,还有很多方法去达到上面的目的,但其要点是HTTP是一个广为人知的标准协议,稍有经验的攻击者都会对它非常熟悉,并且对常见的安全漏洞的攻击方法也很熟悉。

相关教程
最新教程