借用hosts轻松破解阻止外部提交

7/20/2009来源:ASP技巧人气:7515

一、文件准备

本例准备两个文件index.htm和submit.asp,index.htm在本地服务器中,submit.asp在服务器根目录中。

index.htm代码:

 程序代码
<form id="form1" name="form1" method="post" action="http://www.abc.com/submit.asp">
  <input name="username" type="text" id="username" />
  <input type="submit" name="Submit" value="提交" />
</form>


submit.asp代码:


 程序代码
<%
Server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
Server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
If  mid(server_v1,8,len(server_v2))<>server_v2  then
    Response.write "警告!你正在从外部提交数据!请立即终止!"
    Response.End
End if
Response.Write(Request.Form("username"))
%>


显然,有了阻止外部提交脚本的存在,正常情况下你无法从本地向服务器提交任何内容,提交后将显示"警告!你正在从外部提交数据!请立即终止!",这边说了,只是正常情况下,下边我们来看看怎么通过hosts文件来破解。

二、破解过程

1.修改hosts文件内容"127.0.0.1       www.abc.com";
2.在IE中打开http://www.abc.com/index.htm(此时是本地的哦),随便输入一串字符并提交,提交不成功提示页面不存在(本地没有submit.asp自然出错了);
3.修改回hosts文件的内容"127.0.0.1       localhost";
4.刷新http://www.abc.com/submit.asp重新提交表单内容,是不是成功了?^_^

注:由于第3步修改后不会马上生效(似乎有个缓存时间),所以在第3步后最好间隔一段时间再来操作第4步(如果不成功则稍后再继续刷)!