proxy代理   soft软件   IT 业界特快   norton 诺顿病毒库   代理列表   search FTP搜索   whois IP地理位置   blog 追求完美  
money理财   life生活   RSS聚合门户   firefox WEB浏览器   免费域名   typeset 假古文   AntiVirus 反病毒   ipcn 站点导航  

« 用 mod_rewirte 解决 referer 攻击 | Main | mrtg 的加和等计算绘图 v.s. RRD 的加和等计算绘图 »

June 10, 2006

squid 的内容替换

版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://windtear.net/archives/2006/06/10/001003.html
http://windtear.net/archives/2006/06/10/001003.html

squid 的内容替换

上个月遇到的问题,问题的提出比较搞笑
不过据说伟大的金盾也会替换两端的数据
确实还是有意思的
原理就是把用户的请求改了给服务器 再把服务器的返回改了给用户

修改 src/client_side.c

发回用户的时候:
/*
 * accepts chunk of a http message in buf, parses prefix, filters headers and
 * such, writes processed message to the client's socket
 */
static void
clientSendMoreData(void *data, char *buf, ssize_t size)

替换 buf 就行了(buf & mb.buf)
strstr 匹配上给出指针位置 然后strncpy覆盖相关内容
然后
comm_write(fd, buf, size, clientWriteBodyComplete, http, NULL);
comm_write_mbuf(fd, mb, clientWriteComplete, http);


/*
 *  parseHttpRequest()
 * 
 *  Returns 
 *   NULL on error or incomplete request 
 *    a clientHttpRequest structure on success 
 */
static clientHttpRequest *
parseHttpRequest(ConnStateData * conn, method_t * method_p, int *status,
    char **prefix_p, size_t * req_line_sz_p)

替换 conn->in.buf
完成用户请求的替换
本blog WWW

Posted by windtear at June 10, 2006 11:31 PM

Trackback Pings

TrackBack URL for this entry:
http://cgi.windtear.net/cgi-bin/wt-tb.cgi/1003

Comments

Post a comment

Remember Me?



我爱网络
2007-12-31 23:51 2007年度 ipcn.org/ipchina.org 总结报告
2007-12-31 00:31 vmware gsx server service
2007-12-31 00:15 squid 对 404 302 缓存的相关问题
2007-12-30 14:24 升级到 MovableType 3.3x 并修改 entry_basename 兼容性
2007-12-30 13:52 [php] realip judge 前面补0的ip格式剔除
2007-12-14 16:34 rm -rf * 系统管理员要排查的定时炸弹
2007-12-13 19:03 山西的宽带运营商太过分了 私自窜改dns解析
2007-12-13 16:35 F5 MIB 再学习 唯一性标记用地址的小bug
2007-12-11 22:15 perl 用Spreadsheet::WriteExcel写了个处理/读写excel的小程序
2007-12-11 13:39 perl 变量转义的问题

本站使用中的任何问题,请与 windtear SPAM windtear SPAM net 联系
Copyright© 1999-2008 Windtear. All rights reserved.
京ICP备05050670号