内容篡改实践"/>
HTTP内容篡改实践
HTTP内容篡改实践
读完了《图解HTTP》。虽说是一本很轻的书,可后面一章讲的各种攻击让人手痒痒。下面模拟一些不良运营商的做法,给普通http网页加上小广告。
首先,用软件模拟运营商路由器层面的http转发。
为了快速实现http转发,网上找一个http的代理服务器即可。直接搜‘’python http agent server“,找到一个很好用的代理服务器 proxpy,可以自己编写插件来改写http的request、response,正是想要的软件。svn checkout下来后,参照proxpy的说明,运行命令
$ ./proxpy.py -x plugins/changeagent.py
[*] <b73986c0> Server 0.0.0.0 listening on port 8080
运行后,即在本地启动了一个代理服务器,默认host为0.0.0.0,port 为8080。
然后,浏览器设置代理服务器为上面创建的那个本地代理服务器。
浏览器代理服务器设置方式有很多,推荐用浏览器插件,方便快捷。浏览器代理服务器插件可以在浏览器应用商店中找到。chrome可以安装浏览器代理插件SwitchySharp。在SwitchySharp中创建一个代理模式,设置http代理,代理host为0.0.0.0,port为8080(与上面启动的本地代理服务器参数一致)。
最后,根据自己的想法篡改网页。
改写changeagent.py里的处理response的过程,篡改response。例如用下面的代码把所有js脚本后面加上alert(1).
def proxy_mangle_request(req):req.setHeader("User-Agent", "ProxPy Agent")return reqdef proxy_mangle_response(res):res.body=res.body.replace("</script>",";alert(1)</script>")print res.bodyreturn res
处的时候需要注意原来的response是否使用了内容压缩和内容的编码方式,否则replace可能匹配不到。
更多推荐
HTTP内容篡改实践
发布评论