我的GitHub
0%

内网渗透的流程

1.信息收集,寻找漏洞

2.找到漏洞,进行注马

3.获得shell

4.如果需要,则提权

5.查看网卡信息

6.打洞

7.链接并反弹shell,进行查询,寻找域管理用户,横向移动域控

8.可以查询远程权限并进行远程,后面想做什么都行了,主打一个为所欲为

内网扫描

阅读全文 »

背景

上文我们说到了怎么更新ms-playwright

本篇我们来聊聊怎么迁移playwright的版本

可能有朋友会奇怪,这有什么难的,把node_modulesplaywright相关的库全部移进去不就行了

其实也对,但是如果我是pnpm

其实虽然这一篇是升级playwright,但其实更多的是想表达,如何迁移npm库到离线环境

playwright为例,下面是我的一些探索

各种包管理工具下的迁移

运气比较好

本文成于2023.8.20

阅读全文 »

背景

事情是这样的,因为工作的重复率太高,我不得不开发一些脚本来 摸鱼 提高工作效率

但是问题是这样的

我在的单位内外网是隔离的,我所在的分支机构没有开发人员,总部有研发中心,但是并不会理会我们这些分支机构

内网的npm私有库有一个很老的playwright@1.23.4版本,而我的脚本需要用到一些比较新的特性

我拥有的设备

1
2
3
4
5
6
7
8
9
内网机:
统信UOS(主要跑脚本的机子)
Windows10(办公常用)

外网机:
Windows11

自己的设备:
MacOS(Intel版)

而不同版本的playwright依赖的webdriver又不一样

而我集齐了windows,mac,linux三种设备。。。

这就意味着我不太好下载对应版本的ms-playwright(总不能为了下载对应的webdriver去装个虚拟机吧)

阅读全文 »

对于带验证码的爆破,需要对验证码进行识别

可以使用captcha-killer-modified搭配Burp进行爆破

同时推荐ddddocr

现在是2023年9月7日,Pillow==9.5.0当前的ddddocr并未对版本进行兼容

我改了两个docker,有需要可以直接拉取部署

1
2
3
4
# centos
docker pull 329106954/ocr_server:centos
# mac Inter芯片
docker pull 329106954/ocr_server:mac
阅读全文 »

文件上传是个经典问题

推荐靶场:upload-labs

我们可以在这个靶场中进行文件上传绕过的练习

先说webshell,我们写个一句话木马先

这里留个大哥若干年前的总结 webshell一句话木马大全

接下来我们聊聊文件上传的漏洞

一.啥防护没有

直接一句话木马上传就完事了

二.前端文件后缀判断

打开开发者工具,提交文件,看是否存在网络请求

阅读全文 »

背景

好久没写前端的东西了,正好前段时间写typescript时用alias遇到了一些问题,今天来聊一聊。

alias

其实用web框架写应用的时候用的很多啊

比如层级很深的时候

1
import aa from "../../../utils/index"

通过配置alias,比如把根目录配置成@就会写成

1
import aa from "@/utils/index"

这样

具体的路径就不演示了,大家应该都能明白,都用过。

阅读全文 »

这次我们来聊一聊playwright的一些配置项

一、登录保存数据

网站每次都要登录,很烦,没必要

所以我们登录之后,可以把cookie或者session什么的保存起来

下次登录再把数据注入

这样就不用再登录了

1.先正常登录

就写代码登录

2.保存数据

通过context.storageState保存数据到本地文件
例如:

阅读全文 »

写在前面

好久没写playwright的相关内容了,但最近用的还是挺多的,有些常见的问题,决定还是写下来。

内网安装

我所在的公司内网是不联网的,只有一个npm私有源,并且上游源是需要通过审批才能更新的。

说人话就是,有的包有,有的包没有,没有的包也没办法从上游源拉取。

幸运的是,有playwright的低版本。

不幸的是,安装过程中需要安装若干浏览器内核,在内网是无法下载的。

不过更幸运的是,在掘金随手点开的一篇文章,看到有人提到了这个。

对作者表示感谢。

这里引用一下。

阅读全文 »

一、背景

一个偶然的情况,帮一个朋友写个小工具

需要内嵌用到iframe,并使用document提取其中的一些dom元素

二、报错

好像是这个,记不清楚了=。=

1
Blocked a frame with origin "***" form accessing a cross-origin frame.

三、解决

入口添加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
app.commandLine.appendSwitch('disable-site-isolation-trials');


// ***
new BrowserWindow({
// ***
webPreferences: {
// ***
nodeIntegration: true,
contextIsolation: false,
webSecurity: false,
allowRunningInsecureContent: true
},
})

四、正常拿dom

阅读全文 »