一、文件准备
本例准备两个文件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步(如果不成功则稍后再继续刷)!
ASP编码教程:如何实现/使用缓存
[ASP]2015年4月15日ASP编码教程:asp缓存的分类
[ASP]2015年4月15日ASP编码教程:何谓ASP缓存/为什么要缓存
[ASP]2015年4月15日ASP编码教程:asp实现的sha1加密解密代码
[ASP]2015年4月15日ASP编码教程:asp执行带参数的sql语句实例
[ASP]2015年4月14日