游客发表

网页星号密码查看工具

发帖时间:2026-10-17 05:14:23

浏览器里那串星号,网页本质上就是星号个障眼法。它骗不了服务器,密码也骗不了网页本身,工具只骗了你的网页眼睛。真正管用的星号东西——你输入的密码——早就明文躺在DOM里了,只是密码被CSS的 -webkit-text-security: disc 或者一个 type="password" 属性给遮住了。

我最早注意到这件事,工具是网页帮同事登一个内部系统。他忘了密码,星号但浏览器记住了。密码输入框里一排圆点,工具他让我“看看能不能弄出来”。网页我按F12,星号找到那个input,密码把 type="password" 改成 type="text",密码当场现形。他愣了两秒,说“这也太简单了”。

改属性是最直接的办法

打开开发者工具,Elements面板里选中那个密码框,双击 type="password",把password删掉,回车。圆点立刻变成字母。这个方法对所有现代浏览器都有效,Chrome、Edge、Firefox通吃。不需要装插件,不需要写脚本,五秒钟的事。

有些网站会防这一手。它们用JavaScript监听input的type变化,一旦检测到被改成text,立刻改回password。遇到这种,你可以在Console里执行:

document.querySelector('input[type="password"]').type = 'text';

但如果是React或Vue这类框架控制的组件,直接改DOM可能被下一次渲染覆盖掉。这时候得换个思路。

用Console读value更稳

不管type是什么,value属性始终是明文。在Console里输入:

document.querySelector('input[type="password"]').value

回车,密码就打印出来了。这个方法绕过了所有视觉层面的伪装,因为浏览器内部从来就没加密过这个值。我试过一个用Angular写的银行后台,type改不动,但value一读一个准。

如果页面上有多个密码框,用 querySelectorAll 遍历:

document.querySelectorAll('input[type="password"]').forEach(i => console.log(i.value));

几行代码,所有密码框的值全出来。

书签脚本适合反复用

每次开Console太麻烦。有人写了个书签脚本,拖到书签栏,点一下就把当前页面所有密码框变成明文。核心代码就一行:

javascript:(function(){ document.querySelectorAll('input[type="password"]').forEach(function(i){ i.type='text';});})();

我把它存成了书签,名字叫“显形”。遇到需要看密码的页面,点一下就行。不过有些网站会拦截javascript:协议的伪协议执行,比如GitHub的某些页面就不行。那就还是老老实实开Console。

别在陌生页面上乱用

这工具本身没毛病,问题在于你用在哪。我在公共电脑上从不点“记住密码”,因为下一个用这台机器的人,花十秒钟就能把值读出来。同理,如果你在别人的浏览器上登过账号,走之前记得清掉保存的密码,不然等于把钥匙插在锁上。

还有个细节:有些网站会在提交前用JS把密码框的值清空或替换成哈希。这种情况下你读到的可能不是原始密码。但那是网站自己的逻辑,跟星号遮挡没关系。星号从来就不负责安全,它只负责让你别被旁边的人瞄到。

说到底,网页上的密码框就是个UI组件。它防的是肩窥,不是技术手段。真正该做的——HTTPS、服务端哈希、双因素认证——那是另一层的事。你看到的星号,只是浏览器给你的一点心理安慰。

    热门排行

    友情链接