您的位置:首页 > 移动开发 > Objective-C

使用label标签控制form的提交

2009-05-20 11:12 288 查看
 首先强烈抗议百度的管理员在未经允许的情况下删除我文章后面一些朋友们的评论!!那些都是很正常的技术讨论,没有反党反社会反人类,没有违反日内瓦公约,没有违反中华人民共和国宪法,不是病毒不是蠕虫不是rookit不是0day,如果要删评论,请给我任何一个说得过去的正当理由?

得道多助,失道寡助,删我一次评论事小,失了民心,谁的损失才大?百度的企业文化就是这样不负责任,这样欺负客户吗?这就是百度的价值观?

我将保留通过百度内部途径向你的主管投诉的权利。

---------------------- 我是愤怒的分割线 -------------------------------
扯完淡了,继续讲技术

今天还看到了一篇非常精彩的文章:

Html Control Without Javascript

主要是讲使用label标签的for属性,可以绑定form表单里的button或者object标签

如下:
<label for="fvck">

...... 这里填充任意文字或页面

</label>

<form action="javascript:alert(/xss/)" method="get">
<input id="fvck" type=submit>
</form>

实际上,由于for的值就是input的id值,所以他们就是绑定的。当用户用鼠标选中了label里的文字的时候,就相当于激活了<input>里的action,就提交了表单了。

在本例中会造成一个跨站。

如果form的action指向某个url,则会向该url发出请求。

作者还提到使用这个方法可以偷偷的从用户机器里上传文件。

实际上就是在用户未知的情况下提交了表单了。

对于form里的object标签,使用label也能激活它。但是一般的网站都会限制输入object标签,所以很多时候可能都用不上。

action这个属性不光form能用,在isindex里也能用。

前两天的那个isindex的跨站,如果加上了id

<isindex action=javascript:alert() type=image   id="fvck">

那么也能够通过label的 for 来控制,这样就使攻击者更加方便了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息