发现一个蛮不安全的跨域jsonp操作来问问原理
最近用美味书签收藏网页,用起来蛮爽,解决了Chrome书签难管理的问题。
一直以来都是点一下书签栏中的“收藏到美味书签的” js脚本来收藏书签。今天读hackernews的时候碰到一个网站
http://val.markovic.io/blog/youcompleteme-a-fast-as-you-type-fuzzy-search-code-completion-engine-for-vim
,想收藏到美味书签,点击脚本,提示我输入用户名和密码,开始没在意,以为cookie之类的过期了,就输入提交了,没想到点击没反应。
我再打开其他的网站,点收藏,可以直接收藏不需要登陆。这时我就纳闷了,打开审查工具。发现点击收藏之后的登陆居然被拦截了,用户名和密码全部被这个网站截取。
点击登陆居然请求了这个URL,
http://val.markovic.io/cdn-cgi/pe/bag?r[]=http%3A%2F%2Fmeiweisq.com%2Flogin%3Femail%3Dfriskfly%40gmail.com%26password%3Dzxcvb3%26cb%3Dlogin_cb
很明显我的邮箱和密码都被这个网站记录下来了。
我是前端菜鸟,有几个问题,
1.为什么我的美味书签在这个网站上会被要求登陆
2.在前端怎么拦截这种插入script的请求。
3.怎么防范这种安全问题,密码加密传输?
4.第四个问题是我看美味书签的这段收藏的js脚本,有一段很不明白。如下:
var host = "meiweisq.com"; if(host.indexOf('host') > 0) { host = 'meiweisq.com'; }
第一行明显已经把host写死了,为什么下面一句又判断字符串中有没有host呢?
BTOBBB
10 years, 6 months ago