知乎喜迎全平台隐写水印

2022-09-04 15:09:42 +08:00
 ZhiyuanLin

网页端或 app 端登录后截图可见

https://stegonline.iculture.cc/

验证可以这个工具的 Random Color Map 模式。

比较好奇这是怎么实现的,CSS 和 HTML 里找不到痕迹,但是禁用 JavaScript 后会消失。

这是如何做到添加了文本元素但是浏览器审查元素中看不到的?

39353 次点击
所在节点    程序员
238 条回复
villivateur
2022-09-04 15:15:24 +08:00
https://v2ex.com/t/838484
有谁一起优化下这个,做个自动消水印 APP 吗(我想白嫖)
paxol
2022-09-04 15:20:37 +08:00
网页端目前确定到是一个随机命名的 div ,使用了 background 属性插入的盲水印图片。用 adblock 之类的屏蔽器添加如下规则或许可以屏蔽:

zhihu.com###root > div > div:nth-child(7)
senghoo
2022-09-04 15:24:31 +08:00
看了下检查元素。很容易找到啊。root 的最后一个元素,是一个 svg 铺满的背景
Zeonjl
2022-09-04 15:26:34 +08:00
这种水印是用来干啥的?
wowo243
2022-09-04 15:30:39 +08:00
@Zeonjl 溯源截图人,比如溯源 泄漏内网文件 账号,或者溯源 网传图 截图人账号
Zeonjl
2022-09-04 15:32:18 +08:00
@wowo243 好恐怖!看来要注意安全,不能转发截图...
ZhiyuanLin
2022-09-04 15:32:20 +08:00
感谢 @paxol   @senghoo !是我看漏了

console 执行 `document.querySelectorAll('#root > div > div:nth-child(7)')[0]`
可以看到该元素,CSS 规则是
```
.css-xxxxxx {
position: fixed;
top: 0px;
width: 100%;
height: 100%;
background: url("data:image/svg+xml;base64,此处是 base64 编码的 svg 图片,已移除") space;
pointer-events: none;
}
```

@Zeonjl 如果截图墙内 SNS 发墙外的话,用这个抓截图者违法翻墙一抓一个准。
Cavolo
2022-09-04 15:33:49 +08:00
App 是真的无解
vvbbb
2022-09-04 15:34:13 +08:00
恐怖 以后只能对屏拍了
ZhiyuanLin
2022-09-04 15:34:33 +08:00
这个 div 的 class 前几个字母固定是 css-,后缀是七个随机 alphanum 字符。
ZhiyuanLin
2022-09-04 15:35:24 +08:00
@vvbbb 对屏幕拍摄无解,你试试我发的那个工具还是能解析出来,可以简单二值化(这样只有纯黑纯白两色无法隐藏信息)
Zeonjl
2022-09-04 15:36:52 +08:00
@ZhiyuanLin 用相机翻拍屏幕也能有水印吗?
pendulum
2022-09-04 15:37:03 +08:00
ID+时间戳,透明度 0.005 ,真会玩
nVic
2022-09-04 15:42:47 +08:00
想想前一阵子的“百号争鸣”和“引蛇出洞”。
ZhiyuanLin
2022-09-04 15:43:44 +08:00
@Zeonjl #11 现在相机拍摄的照片色彩精准度可高了呢,只要能看清楚黑白文字这种肉眼看不见的浅色文字也能完美拍摄下来。因此还原完全无障碍。

解决方案就三个
1. 不登录+VPN 访问(防止以后不登录也会用 IP 地址等做水印)
2. 图片二值化,只有黑和白,连灰阶都没有
3. 懂代码的找是哪个元素,写规则用 uBlock Origin 之类的插件屏蔽
ZhiyuanLin
2022-09-04 15:53:04 +08:00
保存 SVG 看了下源码,大概是这个感觉:
```
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 336 75" fill="#000" fill-opacity="0.005" width="336" height="75" font-size="15px">
<text x="10" y="1.5em">这里是 UserHash</text>
<text x="10" y="3em">这里是 UserID</text>
</svg>
```
ZhiyuanLin
2022-09-04 15:56:57 +08:00
实际手机拍摄试了试,的确用 Stegonline 这个工具看不出来了,不懂有没有可能用其他色彩处理手段看出来。
nmap
2022-09-04 16:02:39 +08:00
还有这种黑科技啊😦
ZhiyuanLin
2022-09-04 16:04:50 +08:00
当前适用于全浏览器的 uBlock Origin 规则(屏蔽了所有带 css-XXXX 类的空 div ):
zhihu.com##div[class^=css-]:empty

不保证以后能用。
codingBug
2022-09-04 16:05:21 +08:00
恶心

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

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

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

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

© 2021 V2EX