关于爬虫的安全问题

2016-04-01 14:33:34 +08:00
 SlipStupig
今天突然在思考一个问题,像 phantomjs 这种简单浏览器会有安全性问题,比如我在某个网站上放一段恶意 js ,然后呢 phantomjs 执行了这段 js ,那爬虫的机器是不是会遭到威胁啊
3789 次点击
所在节点    Python
10 条回复
domty
2016-04-01 15:00:06 +08:00
恶意 js 是指什么?

理论上 js 是浏览器的脚本语言,在浏览器没有提供相应 api 的情况下是没办法跳出浏览器的作用范围的。
最狠的情况大概是不停的申请内存占用导致浏览器崩溃。

当然我对信息安全领域的认知不深入,有安全方面的可以讲讲。
julyclyde
2016-04-01 15:07:19 +08:00
@domty 比如加载大量数据到本页,把 phantomjs 所在的程序给撑死了, OOM killer
SlipStupig
2016-04-02 02:48:00 +08:00
@domty js 可以做的事情很多啊, dos 只是其中一部分,比如可以读取本地文件上传到指定的服务器啊这个只是一部分,对于 chrome 这些商业浏览器做了很多安全规则校验而 phantomjs 做这块就很粗糙了(具体在测试)
还有更坏的远程执行代码,我之前发掘过 Foxmail < 7.0 的漏洞就是因为调用 webkit 对那个代码没有检测可以任意加载 js ,可以直接下载恶意软件并且执行,这个问题希望能引起重视
julyclyde
2016-04-02 23:13:25 +08:00
@SlipStupig 不能读取本地文件的吧。 js 引擎难道是他自己寨出来的?
SlipStupig
2016-04-03 00:42:48 +08:00
@julyclyde 标准 Webkit 没过滤,通过 file://这个伪协议可以执行文件,需要一定条件触发, web 这块昨天尝试了一下,幸好 phantomjs 不支持 flash 也不支持 java ,还算安全,但是也会泄露一些内网的信息
a132811
2016-04-03 08:29:35 +08:00
@SlipStupig “ file://这个伪协议可以执行文件” 能直接读取?还能执行? 能否说下,什么条件触发呢?
pierre1994
2016-04-03 08:54:22 +08:00
有道理
SlipStupig
2016-04-03 10:05:08 +08:00
@a132811 可以任意执行,前提是需要你的 webkit 支持 flash 或者 java 组件
xlrtx
2016-04-03 22:00:47 +08:00
最近在看的一个 bypass cloudflare ddos 验证的轮子, 里面用到了 javascript 引擎运算验证码.
https://github.com/Anorov/cloudflare-scrape

里面也提到了如果网站构造恶意 js 会导致不良后果, 比如死循环消耗资源等, **但是使用 PyV8 or Node 是不会有 shell 权限的**
SlipStupig
2016-04-03 22:09:17 +08:00
@xlrtx DDOS 已经很普遍了,更重要的是 webkit 版本维护并不是那么勤快,出了问题恐怕没那么容易修复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/267906

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX