记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

看好你的门-客户端传数据-用java修改referer

2015-03-09 21:00
1、 简单说明 
 
Referer用来表明,浏览器向 WEB 服务器表明自己来自哪里。 
但是就它本身而言,并非完全安全。 
 
写一个例子,可以任意修改http信息头中的referer
 
2、 准备: 
 
用httpClient4.0来具体实现
 
3、 Java修改http信息头referer的源代码 
 
代码非常简单,就是修改了http头的referer,配套示例的jsp在:http://blog.csdn.net/ffm83/article/details/44095025 
源代码如下

package com.safe;

import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

/**
* 用httpClient 模拟修改referer属性,仅供用于WEB安全防范示例。
*
* @author 范芳铭
*/
public class EasyModifyHeader {
public static void main(String[] args) throws Exception {
CloseableHttpClient httpclient = HttpClients.createDefault();
try {
//HttpGet httpGet = new HttpGet("http://test.laizi.cn:8080/114/bm/accountLogin");
String url = "http://127.0.0.1:8080/webStudy/http_accept.jsp";
HttpGet httpGet = new HttpGet(url);
httpGet.setHeader("referer", "http://www.bucunzai.com/admin.jsp");
CloseableHttpResponse response = httpclient.execute(httpGet);
try {
HttpEntity entity = response.getEntity();
//打印目标网站输出内容
System.out.println(EntityUtils.toString(entity));
EntityUtils.consume(entity);
} finally {
response.close();
}
} finally {
httpclient.close();
}
}
}

 

 
4、 运行后结果
 
如果不是来自超级管理员,那么我无法被访问(超级管理员是来自一个叫做admin.jsp的页面,保持在http头中的referer) 
地址:127.0.0.1 
编码:null 

referer:http://www.bucunzai.com/admin.jsp
host:127.0.0.1:8080
connection:Keep-Alive
user-agent:Apache-HttpClient/4.3.6 (java 1.5)
accept-encoding:gzip,deflate
不是管理员,请从管理员页面进入

 


知识来源: www.2cto.com/Article/201503/380951.html

阅读:85147 | 评论:0 | 标签:无

想收藏或者和大家分享这篇好文章→复制链接地址

“看好你的门-客户端传数据-用java修改referer”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

ADS

标签云