PHP安全编程之关于表单欺骗提交
来源:互联网 发布:安卓手机运行java程序 编辑:程序博客网 时间:2024/05/22 17:41
制造一个欺骗表单几乎与假造一个URL一样简单。毕竟,表单的提交只是浏览器发出的一个HTTP请求而已。请求的部分格式取决于表单,某些请求中的数据来自于用户。
大多数表单用一个相对URL地址来指定action属性:
<form action="process.php" method="POST">
当表单提交时,浏览器会请求action中指定的URL,同时它使用当前的URL地址来定位相对URL。例如,如果之前的表单是对http://example.org/path/to/form.php请求的回应所产生的,则在用户提交表单后会请求URL地址http://example.org/path/to/process.php。
知道了这一点,很容易就能想到你可以指定一个绝对地址,这样表单就可以放在任何地方了:
<form action="http://example.org/path/to/process.php" method="POST">
这个表单可以放在任何地方,并且使用这个表单产生的提交与原始表单产生的提交是相同的。意识到这一点,攻击者可以通过查看页面源文件并保存在他的服务器上,同时将action更改为绝对URL地址。通过使用这些手段,攻击者可以任意更改表单,如取消最大字段长度限制,取消本地验证代码,更改隐藏字段的值,或者出于更加灵活的目的而改写元素类型。这些更改帮助攻击者向服务器提交任何数据,同时由于这个过程非常简便易行,攻击者无需是一个专家即可做到。
欺骗表单攻击是不能防止的,尽管这看起来有点奇怪,但事实上如此。不过这你不需要担心。一旦你正确地过滤了输入,用户就必须要遵守你的规则,这与他们如何提交无关。
如果你试验这个技巧时,你可能会注意到大多数浏览器会在HTTP头部包括一个Referer信息以标识前一个页面的地址。在本例中,Referer的值是表单的URL地址。请不要被它所迷惑而用它来区分你的表单提交还是欺骗表单提交。在后面的演示中,可以看到HTTP头部的也是非常容易假造的,而使用Referer来判定的方式又是众所周知的。
- PHP安全编程之关于表单欺骗提交
- PHP安全编程之HTTP请求欺骗
- PHP安全编程之表单与数据安全
- php表单提交程序的安全
- PHP安全编程:表单与数据安全
- 防止php重复提交表单更安全的方法
- 防止php重复提交表单更安全的方法
- PHP 之 表单提交去除斜杠
- php的表单提交之上传文件
- PHP 之 表单提交去除斜杠
- JAVA网络编程之模拟表单提交
- PHP模拟表单提交
- PHP 表单提交
- php表单提交 代码
- php 表单提交
- php 提交表单
- PHP提交表单
- php 提交表单 数据类型
- Eclipse:java could not open jvm.cfg 和 could load jni jvm.dll
- Xcode插件篇之XVim
- 打印: 金字塔
- 我的微信公众号-炼情苑
- hdu5813
- PHP安全编程之关于表单欺骗提交
- hadoop中hdfs文件下载
- ios 中Nsstirng,Nsdata,char,byte,UIImage 之间的转换
- 微信接口测试号时用ngrok开发网页授权时填写回调域名
- C++类型转换
- 支付清算体系介绍-上
- USB启动盘制作的几种方式
- 两种代码重用机制——组合与继承
- 『python学习』数据库学习