- 浏览: 19432 次
最新评论
转.搞定百度图片防盗链
2011年02月11日
提到可以采用新出的 Data URL Schema ,以不发送referer的形式,绕过百度的referer检验。但这种方式只有FF支持,IE还不支持,所以尚未采用。这些天来SECINN深受百度图 片防盗链之苦,用户体验有折扣,所以我决定一劳永逸的解决这个问题。
实际上浏览器是根据schema 来决定是否发送 referer的。
典型的就是从 https 跳到 http 会被浏览器拒绝发送 referer,因为可能会导致敏感信息泄露。
比较通用绕过referer检查的方式还有通过一些网页代理访问,原理也是代理访问时不发送referer,或者伪造referer。
但是出于法律风险,我不想提供我的网页代理(也不希望用验证域名的方式让代理变得复杂),也不想使用第三方的代理。
前些天,harry给我提供了一种非常猥琐但极其通用的方式绕过浏览器检查。
参考如下例子: 我也没想明白为啥iframe会直接把那段img标签给插入其内容中,但是浏览器确实这样做了!
由于src的schema是 "javascript",所以后面的这个image请求是不发送referer的!
出于这个原理,我们就可以绕过一切基于Referer 的防盗链检测了。
secinn中新的代码如下:
function showpicdl(imgurl)
{var temp=Math.random();
window.sc="";
document.write('');
}
showpicdl('http://imgsrc.baidu.com/baike/pic/item/ 2e6fa7388bff1090d4622526.jpg');
其中出于用户体验的因素在iframe onload的过程中,根据加载图片的大小修改了iframe本身的长宽。
so,向可怜的百度 hiphotos的防盗链图片说bye bybe吧!
下面是上一篇文章
在 Firefox 中有实现,IE不支持。Opera , Safari 参考的 Firefox 的实现
利用 Data:xxxxxxx 可以写各种不同的内容,甚至能够通过base64嵌入二进制的图片到URL里。
比如,要构造XSS,可以这样:
test
会弹出个小框。
我经过测试,构造了以下方式可以成功实现不发送Referer的需求
base64 加密的部分实际上就是
可以查看一下新开iframe的域,使用以下的测试方式
在iframe中弹出document.domain,可以看到当前的域还是在 www.a.com
说到这里,就要插两句关于 Firefox 的同源判断和Referer 发送规则了。
一般来说, Firefox 会根据当前的JSContext来寻找当前页面的源,doc->GetPrincipal();
发送的 Referer 头的内容,就是获取的页面源。
在 Firefox 中,点击一个link,或者 , 等标签获取内容时,都会发送相应的 Referer 出去。甚至右键点击一个link,在新的tab中打开,也会发送referer(在新tab中打开页面本来是不发送referer的,有人提交这个bug 后,就fix了)。
这样看来,利用 Data URL Schema 构造一个新的语境,再执行一个访问的请求,就不会发送 Referer, 应该属于一个浏览器的缺陷。要说是 Feature 也可以,又是有争议的地方啊。
发表评论
-
AJAX 跨域总结
2012-01-20 10:11 623AJAX 跨域总结 2010年12月23日 AJAX的使 ... -
代码段
2012-01-20 10:11 570代码段 2010年11月18日 1. 页面 js初始化: ... -
Comet基于iframe的服务器推送(Server Push)例子
2012-01-20 10:11 670Comet基于iframe的服务器推送(Server Push ... -
AJAX 长轮询
2012-01-20 10:11 1326AJAX 长轮询 2010年06月24 ... -
中班下学期班务工作计划
2012-01-19 15:12 850中班下学期班务工作计划 2011年02月26日 2011 ... -
2010年大班上学期工作计划
2012-01-19 15:12 7912010年大班上学期工作计 ... -
幼儿园大班工作计划
2012-01-19 15:12 713幼儿园大班工作计划 20 ... -
大班下学期个人工作计划
2012-01-19 15:11 1311大班下学期个人工作计 ... -
大班下学期个人工作计划
2012-01-19 15:11 998大班下学期个人工作计 ... -
Linux下NFS服务器的配置
2012-01-17 04:59 623Linux下NFS服务器的配置 2010年10月29日 ... -
Pthread 与 Linux
2012-01-17 04:59 718Pthread 与 Linux 2010年10月 ... -
C/C++ 的思索 C++之父“访谈录”
2012-01-17 04:59 655C/C++ 的思索 C++之父“访 ... -
联想K31笔记本完全拆解,装不回去了。想做个电视机或者显示器
2012-01-17 04:59 1365联想K31笔记本完全拆解,装不回去了。想做个电视机或者显示器 ... -
Fortran调用Matlab
2012-01-17 04:58 3591Fortran调用Matlab 2011年12月27日 ... -
FLEX网站收集
2012-01-16 03:50 829FLEX网站收集 2009年12月19日 1.FLEX网 ... -
FLEX 网站
2012-01-16 03:50 508FLEX 网站 2010年09月19日 ... -
自己用的Flex
2012-01-16 03:49 630自己用的Flex 2010年04月1 ... -
FLEX做的网站
2012-01-16 03:49 642FLEX做的网站 2011年05月1 ... -
MyEclipse+Flex+Blzeds入门浅谈
2012-01-16 03:49 579MyEclipse+Flex+Blzeds入门浅谈 2011 ...
相关推荐
图片防盗链.java图片防盗链.java图片防盗链.java
HttpURLConnection+jsoup防盗链 {"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661...
对于虚拟主机用户来说,最方便的莫过于利用.htaccess设置图片防盗链了。上网搜了一下,.htaccess规则写法很多,但是大部分的区别在于最后一行,下面我们先看看正确的.htaccess防盗链写法,稍后我再详细解释一下最后...
破解图片防盗链,有时连接不了网站的图片,因为对方有防盗链系统,写一个servlet代码
相信很多人,不管是私人也好,seo也好,站长也好,还是小推手也好,都会不时越到“防盗链图片”这个问题,有时候需要把整个网页文章拷贝进去,但是复制过去的图片,到自己的网站这边,刷新一下就没了~~~给自己活着给...
利用httpHandler 实现RSS 图片防盗链接 图片验证码等功能
为了实现图片防盗链,根据网络上搜集的资料加上自己的实践,终于实现了iis下的图片防盗链功能。 实施步骤: 1.下载比较出名的www.helicontech.com提供的ISAPI Rewrite软件的免费版本(免费版本虽然有一些功能上...
图片防盗链示例,非常简单明了的告诉你该怎么做。
可以破解任何网站的图片防盗链,极简的代码,使用时只需将图片地址改成http://你的网址/i.asp?url=图片原地址,即可调用任何网站的图片。
FileTransferServer:解决防盗链图片使用问题的中转服务器。为项目 ImageKeeper 备用的 web 服务器。
无视图片防盗链php单文件
asp.net中利用ashx实现图片防盗链
采集百度,google,yahoo的搜索图片,asp.net破图片防盗链 哥做的erp管理软件http://www.keatonfund.cn/solution/index.html
ASP.NET实现图片防盗链功能 很好的资源
网站防盗链: IIS7.5配置防盗链 IIS7.0配置防盗链
主要介绍了 java 防盗链详解及解决办法的相关资料,这里介绍了防盗链的概念、产生原因及Http中的referer,最后介绍解决办法,需要的朋友可以参考下
2. 可以针对不同站点设置防盗链的过滤,防止图片、桌面、软件、音乐、电影被人引用。如果发现请求者是盗用网站链接,则自动重定向到错误处理页面 3. 能够指定信任站点,信任站点可以链接保护资源。 4. 支持下载...
对于网站以图片为主的,图片防盗链就显的非常重要了,非本站的访问都应该拒绝图片的显示,要不你的图片就很有容易被别人盗取
iis 防盗链 音乐网站防盗链 图片防盗链