HACKING WITH JAVASCRIPT
作者:无敌最寥寂[E.S.T]
泉源:邪恶八进制 中国
原文出处:Unknown
声明:本文是外洋一同行朋友给我的email中附带的,原作者是一个叫Dr_aMado写的.我连翻译带实践花了一个小时的工夫,以是转帖请注明出处.
HACKING WITH JAVASCRIPT
本教程主要先容了怎样利用javascript绕过一些简略的大概更初级一点的html表单限定及cookie/session验证.
简略的表单限定
1.绕过必填表项
你会每每遇到一些页面需要你填满所有的表项才气提交,但是我们完全大概绕过这些限定.如果你仔细看一下页面的源代码,然后找到关于表单提交的那部分代码,你会发现form标签中有一个onsubmit属性.当你看到这个属性的时候,我们就很有希望尝试一下绕过这些限定.大家都知道的,javascript可以控制页面中的所有元素,包括表单元素.因而,我们可以利用javascript修正、删除以及添加任意元素到我们欣赏的每一个页面.
因而,我们就可以利用javascript清除表单中的ousubmit属性,这么我们就可以不受限定的乐成提交表单了.
onsubmit 属性通常指向了一个函数,这个函数是用来查抄提交form表单数据的正确款式的.(译者注:我这里以海内某免费邮箱请求页面为例):
function fCheck(){
if( !form.readed.checked )
{
alert("您需要担当服务条款后才气注册!");
form.readed.focus();
return false;
}
...
关于fcheck()函数的细致先容不在本文的讨论范畴之内,怎么编写还请大家自己去查相关资料.经过上面的代码大家可以看出来如果你有些表单项没有填写(好比一些单选了大概多选项等等)的话,表单是无法提交的.如今我们就要修正onsubmit属性,利用javascript让它直接返回true即可以接纳下面两种要领:
document.forms[x].onsubmit="return true;";
or
document.form.onsubmit="return true;";
使用这两个 语句都可以使表单无穷制的乐成提交.但关键就在于我们怎样实行上面javascript语句呢?实在我们可以直接把此语句输入到地点栏中,然后回车就可以实行了.语句如下:
javascript:document.form.onsubmit="return true;";
但是仅仅是上面的语句是不会乐成的,由于上面语句返回的值会被直接写入到页面中,我们无法继续填写表单了.以是我们必需避免值被写入到页面中,要领就是利用alert()函数:
javascript:alert(document.form.onsubmit="return true;");
运行上面的语句会弹出一个对话框内容是"return true;",而不会被写入到页面中了.如今你可以毫无穷制的任意填写你的表单内容了.(译者注:以下测试是以某海内免费邮箱请求页面为例):
再没有解除限定前,如果密码你没有输入的话会弹出如下图的对话框:
这个时候我们根据上述俄要领先查看其源代码,找到提交form表单的那句代码如下: