好吧其实标题党了.
只不过是能监测到控制台的每次操作, 但是获取不到具体的操作内容.
直接上代码:
var old = Object.getOwnPropertyNames;
Object.getOwnPropertyNames = function() {
var stack = new Error().stack;
if(/Object\.InjectedScript/.test(stack)) {
document.body.innerHTML = "你在控制台中进行了操作.";
}
return old.apply(this, arguments);
};
灵感来源于 traceur 中对 getOwnPropertyNames
的劫持. (用于实现 Symbol
.)
Update:
又发现一个更狠的…
http://drops.wooyun.org/papers/974