1
fpk5 272 天前 8
恭喜你重新发明了木马
|
2
hronro 272 天前
你说你要投毒, 你怎么区分正常用户和爬虫? 还是说你正常用户也投毒?
另外 JavaScript 虚拟机的一大优势就是 sandbox 隔离, 你说的投毒, 其实基本不太可能能成功 |
3
phrack 272 天前 via iPhone
确实是个攻防手段。不过魔也可以高一丈,sandbox 你这段代码就行了
|
4
drymonfidelia 272 天前 1
想太多了,专业的爬虫团队都是上 AST 直接分析语法树提取算法,根本不可能执行你的代码
|
5
streamrx 272 天前 via iPhone 1
没有用 只要逆向的收益足够大 就 100%会被破解。没有任何方法能预防 各种手段都只是增加逆向的难度罢了
|
6
renmu OP 我知道 sandbox 可解,但只要成功一次就足以恶心到人
算法是由服务端返回的,目的就是诱导爬虫使用 eval 执行代码,绝大多数爬虫是不会每天分析你的算法的 |
7
heliumjt 272 天前
我自建的一个 RSS 源就是直接 eval 了__NUXT__全局变量来获取数据,确实担心过安全风险。不过是大公司的网站,应该没问题……的吧?
|
8
kdwnil 272 天前 via Android 1
恶不恶心爬虫我不知道,但我知道万一检测组件出 bug 导致翻车会恶心到普通用户,还会有机会触发一个叫入侵计算机系统罪的口袋。与其花大成本折腾自己可能找个靠谱的律所到处发函更实在……
|
10
cherryas 272 天前
想像里什么都有,动态加密+动态混淆+各种环境检测+代码量大到人类无法正常读取,基本都是知名的专业安全团队才能做到。
|
11
dhb233 272 天前
反爬没有一劳永逸的办法。你不管怎么做,如果有足够的利益,人肉爬数据你怎么防?
|
13
ZnductR0MjHvjRQ3 272 天前
没屁用 防一防脚本小子
|
14
lichdkimba 272 天前 2
无头浏览器直接取页面上显示的不就行了
|
16
weeei 272 天前
知乎使用特殊字体反爬虫,眼睛看的内容是正常的,爬下来的文本是乱序的,使用特殊字体控制能正常渲染。
|
17
devswork 272 天前
控制浏览器 + OCR (结构识别),怎么对付?
|
18
proxychains 272 天前 via Android
css 漂移?
|
20
seWindows 272 天前 1
逻辑炸弹 2.0 版本?
如果检测组件出 bug 导致翻车会恶心到普通用户,起码会被曝光:“安全警告:xxxx 网页挂病毒木马,大家不要访问"。等等 |
21
drymonfidelia 272 天前
|
22
shuimugan 272 天前 via Android
Deno:?
|
23
drymonfidelia 272 天前
另外 akamai 已经能精准识别 curl_cffi 了,20 个请求内 100%封,要用魔改版本的 tls_client ,原版 tlsclient 也不行
|
24
tool2d 272 天前
|
25
vok2aDe12AsWDirE 272 天前
这种想法还比较初级,现在都用 VMP 混淆代码,后台服务器更新操作位;依然被破解;
|
26
locoz 272 天前 1
你说的这种做法叫投毒/埋坑,属于早就被玩烂的操作了。
常见的操作有比如先获取一些浏览器环境中获取不到的信息,用于检测是否是真实浏览器,然后如果不正常就在生成的 sign 里打上特殊标记,或者是发个网络请求直接上报具体的环境信息,或者是打日志警告,或者是执行一些计算量超出正常水平的东西再执行原始逻辑之类的。玩法一堆,而且远比“删库”能恶心人。 “删库”这种极端操作的成功概率基本为 0 ,你也无法保证你不会影响到普通用户,再加上大点的安全厂商都会有做自动化的安全审计,检测到你搞骚操作就直接就给你标记风险了,毕竟谁知道你是想做防护还是想搞普通用户呢? 另外,你以为这种操作很无解,代码混淆了没人仔细分析就看不懂,但其实解析成 AST 之后处理一下冗余内容,代码结构是很清晰的。再加上现在的大语言模型上下文长度已经足够长了,能力完全够将清理后的逻辑部分代码还原出大致的原始状态,或者是直接按要求对代码进行自动化处理。无论是剥离出实际需要的部分,还是察觉出你整活,都极其简单,门槛极低。以前还得专门训练模型,现在花点小钱随便就能搞。 所以可以说在当下,在中低程度混淆处理的代码层面投毒/埋坑的意义已经不大了,代码层面的对抗主要还是在让别人无法正常分析代码上,比如几年前比较先进的技术是套一层“虚拟机”,逻辑完全按人家自己的来,后面发展出了基于 WASM 直接跑加壳后的编译后程序,再后面就是像楼上说的结合动态变化的处理方式高频更新。但是这些操作终究是前端代码层面做的事情,大不了别人完全虚拟一套环境搞,只要级别比你高,你代码里做再多操作也看不出毛病。 如果你平时有了解一些相关安全厂商做的事情的话,你会发现其实他们现在都在往行为风控方向发展。以前他们都会吹自己的验证码、WAF 之类的产品有多难被破解,代码加密、动态更新、高强度壳啥的。现在吹的都是通过识别客户端各方面的操作是否像真人发出的,然后进行分级风控,比如疑似风险客户端就必须要进行计算后才能走正常逻辑,通过大幅加高攻击方成本的方式来解决问题。 |
27
locoz 272 天前
还有像前面 @drymonfidelia 说的采集上报各种传感器数据做识别这种做法,理解不了的话可以去看看字节跳动的产品,抓包会看到大量向 mcs.zijieapi.com/list 这个地址上报的数据,内容细致到可以跟录屏一样完全回放你在使用时的整个操作过程和你操作时应该看到的状态。
这种程度的数据用在防护上,想要精准识别出是人还是机器操作,又或者是直接只请求了特定接口搞事情,都是很容易做到的,就看想不想管而已。 |
29
1018ji 272 天前
|
30
ttimasdf 271 天前
没用。你压根就没理解安全攻防的本质。就是资源的对抗。
说白了就是比谁更菜。搞安全和打电竞一样,菜就是原罪。 你了解你的对手吗?你防的是谁?他们的能力是什么样的?你的业务数据值得对方投入多大的资源?他们有这样的资源吗?你能投入多少开发资源去做防护? 从开发视角、技术视角出发去搞安全,最后迎接你的就是领导一句,你搞这些没用的玩意干啥?干嘛不花钱找外包干?你干的就比别人好了? |
32
EndlessMemory 271 天前
反爬最有效的手段就是给进攻方增加工作量,你把参数每天变来变去都比这个有效
|
33
lozzow 271 天前
我觉得最简单的反爬手段就是线下反爬
|
34
naythefirst01 264 天前
除了代码投毒 可以参考 boss 的反爬 思路类似
|