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来判定的方式又是众所周知的。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 苹果电脑视频显示缺少插件怎么办 安装拼多多显示校验失败怎么办 中央庭黑盒被抢怎么办 lab值a值偏高怎么办 橱房管道堵死了怎么办 微信被别的手机同步登录怎么办 计算机机房空调坏了怎么办 被蝎子蛰了怎么办怎么处理? 月嫂走了孩子闹怎么办 转业军人自建房有困难怎么办 转业军人没配偶想异地安置怎么办 转业军人档案和身份证不符怎么办 转业军人个人资被单位遗失怎么办 空军飞行学员停飞后怎么办 2020年不脱贫的农户怎么办 马自达8停产后配件怎么办 钢铁雄心3没将领怎么办 江苏低于二本线怎么办 电工证快过期了怎么办 天正建筑打不开高版本的图纸怎么办 打开天正只显示cad怎么办 天正软件显示过期了怎么办 四岁宝宝经常吐怎么办 穿越火线登陆不上去怎么办 猫猫呕吐带血怎么办 狗又吐又拉稀怎么办 狗狗肠炎拉血怎么办 拉大便有血怎么办呢 工作中遇到不公待遇怎么办 老兵丢了退伍证怎么办 我的退伍证丢了怎么办 退伍证丢了怎么办啊 银行卡更换之前的卡号怎么办 收到联通欠费催款律师函怎么办 苹果5s玩王者卡怎么办 电信宽带包年用户欠费怎么办 员工不处理考勤异常怎么办 移动号码特殊原因强制停机怎么办 下雨天我怎么办我好想你 免检标志领晚了怎么办 激光点太田痣揉搓了泛红怎么办