绕过 console-ban

绕过 console-ban

console-ban 项目介绍

console-ban 是一个高效且轻量级的 JavaScript 库,其核心功能是有效阻止用户通过浏览器的开发者工具(例如按 F12 键或审查元素功能)访问你的网站资源。这一设计旨在减少非法爬虫活动,并降低潜在的安全威胁。该库通过提供一种简洁易行的方式,实现当用户尝试打开控制台时,能够触发重定向、重写文档内容或执行自定义行为,从而确保网站资源的完整性和安全性。

console-ban.min.js 源代码

/*!
 * console-ban v4.1.0
 * (c) 2020-2022 fz6m
 * Released under the MIT License.
 */
! function(e, t) {
	"object" == typeof exports && "undefined" != typeof module ? t(exports) : "function" == typeof define && define.amd ? define(["exports"], t) : t((e = "undefined" != typeof globalThis ? globalThis : e || self)
		.ConsoleBan = {})
}(this, (function(e) {
	"use strict";
	var t = function() {
			return t = Object.assign || function(e) {
				for (var t, i = 1, n = arguments.length; i < n; i++)
					for (var o in t = arguments[i]) Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o]);
				return e
			}, t.apply(this, arguments)
		},
		i = {
			clear: !0,
			debug: !0,
			debugTime: 3e3
		},
		n = 2,
		o = function(e) {
			return ~navigator.userAgent.toLowerCase()
				.indexOf(e)
		},
		r = function(e, t) {
			t !== n ? location.href = e : location.replace(e)
		},
		c = 0,
		a = 0,
		f = function(e) {
			var t = 0,
				i = 1 << c++;
			return function() {
				(!a || a & i) && 2 === ++t && (a |= i, e(), t = 1)
			}
		},
		l = function(e) {
			var t = /./;
			t.toString = f(e);
			var i = function() {
				return t
			};
			i.toString = f(e);
			var n = new Date;
			n.toString = f(e), console.log("%c", i, i(), n);
			var o, r, c = f(e);
			o = c, r = new Error, Object.defineProperty(r, "message", {
				get: function() {
					o()
				}
			}), console.log(r)
		},
		u = function() {
			function e(e) {
				var n = t(t({}, i), e),
					o = n.clear,
					r = n.debug,
					c = n.debugTime,
					a = n.callback,
					f = n.redirect,
					l = n.write;
				this._debug = r, this._debugTime = c, this._clear = o, this._callback = a, this._redirect = f, this._write = l
			}
			return e.prototype.clear = function() {
				this._clear && (console.clear = function() {})
			}, e.prototype.debug = function() {
				if (this._debug) {
					var e = new Function("debugger");
					setInterval(e, this._debugTime)
				}
			}, e.prototype.redirect = function(e) {
				var t = this._redirect;
				if (t)
					if (0 !== t.indexOf("http")) {
						var i, n = location.pathname + location.search;
						if (((i = t) ? "/" !== i[0] ? "/".concat(i) : i : "/") !== n) r(t, e)
					} else location.href !== t && r(t, e)
			}, e.prototype.callback = function() {
				if ((this._callback || this._redirect || this._write) && window) {
					var e, t = this.fire.bind(this),
						i = window.chrome || o("chrome"),
						r = o("firefox");
					if (!i) return r ? ((e = /./)
						.toString = t, void console.log(e)) : void
					function(e) {
						var t = new Image;
						Object.defineProperty(t, "id", {
							get: function() {
								e(n)
							}
						}), console.log(t)
					}(t);
					l(t)
				}
			}, e.prototype.write = function() {
				var e = this._write;
				e && (document.body.innerHTML = "string" == typeof e ? e : e.innerHTML)
			}, e.prototype.fire = function(e) {
				this._callback ? this._callback.call(null) : (this.redirect(e), this._redirect || this.write())
			}, e.prototype.ban = function() {
				this.callback(), this.clear(), this.debug()
			}, e
		}();
	e.init = function(e) {
		new u(e)
			.ban()
	}, Object.defineProperty(e, "__esModule", {
		value: !0
	})
}));

绕过 console-ban 方法

  1. 运行工具 fiddler
    image

  2. 打开 After Responses 模式
    image

  3. 访问被测网站
    image

  4. fiddler 里找到 console-ban.min.js 请求
    image

  5. 修改 Raw 中的代码, 并点击 Run to Completion, 代码如下
    image

!function(e, t) {
    var u = function() {
        function e(e) {
            this.ban = function() {
            };
        }
        return e;
    }();
    e.init = function(e) {
    };
}(this, (function(e) {
    "use strict";
}));
  1. 打开被测网站的控制台
    image
posted @   测试小罡  阅读(76)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· 【全网最全教程】使用最强DeepSeekR1+联网的火山引擎,没有生成长度限制,DeepSeek本体
点击右上角即可分享
微信分享提示