在 Yakit 浏览器中添加本地插件的两种方法

前言

有师傅问我,如何在Yakit中添加插件。

我之前说没办法添加,因为yakit浏览器是免配置,而不是内置。

并且yakit的参数中,--load-extension是不可配置、不可删除的。

正常来说是没办法的,但我们的本职工作是什么呢?

况且,Yakit的限制就在本地,那不是想怎么玩弄就怎么玩弄。

下面,我给了两种解决办法。师傅们,可以根据需要选择。

修改数据库,添加插件

效果演示

第一次失败的尝试

打开yakit目录下的sqlite数据库yakit-profile-plugin.db

在数据表general_storages的key字段,寻找"chrome-launcher-params"

该字段的值就是我们配置chrome参数的地方。

我们找到:

  • --load-extension
  • --disable-extensions-except

在它们的variableValues中添加插件路径,比如:

"D:\yakit_pro1\Yakit\yakit-projects\google-chrome-plugin,D:\programs\chrome-plugins\my-fingerprint-chrome-v2.5.0"

保存,重新打开Yakit配置

诶?怎么没有变化?

经过我多次的控制单一变量进行测试,不管怎么改都是上图的值。我怀疑是Yakit对这两个参数进行了限制。

第二次尝试(成功)

直接修改这两个参数不行,我把思路转向添加新参数上,通过创建新参数,能不能覆盖老参数呢?

很遗憾,Yakit在客户端对我们的输入校验的比较严格。

chrome添加命令参数的形式如下:

chrome.exe --disable-features=Translate

Yakit是调用系统中的浏览器的,最后的拼接方式也一定是类似上面这种。

在不影响使用的情况下,在参数名中的前方添加空格,能不能绕过呢?

还是不行,依然提示存在相同的参数名。

Yakit在前端的校验确实严格,但是,它从数据库拿出数据后是否一样严格校验呢?

就像SQL注入中的二次注入一样,Yakit对于从数据库中拿到的参数名,并未进行严格校验,而是直接拼接到chrome中。

演示

先禁用

添加两个新参数,参数名随意,方便你能在一大堆值里搜到就行。参数值为chrome插件地址,比如:

D:\programs\chrome-plugins\my-fingerprint-chrome-v2.5.0,D:\yakit_pro1\Yakit\yakit-projects\google-chrome-plugin

  • 不同插件地址间,用,分隔

修改数据库,将两个参数名修改成:

--load-extension

--disable-extensions-except

记住,前面的空格要不要忘了。

复制到数据库中,保存。

重新查看更多参数,看到添加成功

此时

之后,我没太细究,可以直接在这两个参数中添加其他插件路径了。

比如D:\programs\chrome-plugins\ddpocchrome

之后在浏览器中就会显示

其他方法

既然yakit浏览器是通过配置命令行达到的效果,那我自己把这些命令行复制出来,修改这加载插件的参数值不就行了。

效果演示

和原版简直一模一样

添加插件

Yakit 启动免配置

访问 chrome://version/

复制命令行

修改其中的

--proxy-bypass-list=<-loopback>

--proxy-bypass-list="<-loopback>"

复制到yakit-chrome.bat脚本中

可以看到启动后的浏览器和在yakit中启动的一样

接下来,我们添加插件,将插件的路径填充在--load-extension和-disable-extensions-except中。

以my-fingerprint-chrome为例:

--load-extension=D:\programs\chrome-plugins\my-fingerprint-chrome-v2.5.0,D:\yakit_pro1\Yakit\yakit-projects\google-chrome-plugin --disable-extensions-except=D:\programs\chrome-plugins\my-fingerprint-chrome-v2.5.0,D:\yakit_pro1\Yakit\yakit-projects\google-chrome-plugin

重新启动bat

可以看到,浏览器中成功加载my-fingerprint-chrome插件。

总结

一个系统,在设计的时候,往往是对外不信任,对内信任的。

即对用户的输入进行严格校验,对于从其他服务器、数据库获取的数据认为是可信的,并未进行过多校验。

SQL注入中的二次注入就是基于这种想法导致的。本次直接修改Yakit的数据库,也是基于此类想法。

相关推荐
数据知道5 小时前
白盒审计入门:Source Code Review 检查清单
网络·安全·网络安全·代码复审
菜根Sec5 小时前
信息安全工程师该怎么准备考试
web安全·网络安全·信息安全·信息安全工程师
深念Y7 小时前
局域网 HTTP 请求转发 502 问题排查记录
网络·网络协议·http·网络安全·代理·转发·中转
2501_916007477 小时前
免费抓包工具 Windows 和 Mac 怎么选?根据平台来选择工具
网络协议·计算机网络·网络安全·ios·adb·https·udp
我是乌鸦的空间17 小时前
什么是网络安全中的电子数据取证与响应?
网络·网络安全
网安蟹佬霸19 小时前
WAF绕过技术实战:从规则检测到编码绕过全指南(2026最新版,附Payload集与自动化脚本)
运维·安全·网络安全·架构·自动化·网安
数据知道20 小时前
移动端渗透测试流程:Android APK 逆向与动态调试
android·web安全·网络安全
电子科技圈1 天前
Semtech将于2026年国际物联网展(IOTE 2026)举办 LoRa®全球生态论坛
物联网·网络安全·健康医疗·制造·零售·iot·交通物流
IPdodo_1 天前
代理 IP 服务商 SLA 怎么验?7 项指标与 Python 探测脚本实战
运维·python·网络协议·网络安全·代理ip
2501_916008891 天前
iOS App 请求地址查看,不用配置看到 App 调了哪些接口
网络协议·计算机网络·网络安全·ios·adb·https·udp