我的GitHub
0%

封装的代码块合集

浏览器的创建

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
const { chromium } = require('playwright');
const authState = require('../auth/auth.json');
const { getOS } = require('../utils/utils');
// 初始化一个页面
const createBrower = async () => {
const os = getOS()
// 判断系统类型使用不同参数
let params = {}
if (os === 'Windows_NT') {
params = {
headless: false,
// 使用edge浏览器
channel: 'msedge',
args: [
"--start-maximized",
"--disable-web-security",
"--allow-running-insecure-content"
]
}
} else {
params = {
headless: false,
// 使用其他浏览器
executablePath: "/usr/bin/browser360ent-cn",
args: [
"--start-maximized",
"--disable-web-security",
"--allow-running-insecure-content"
]
}
}
const browser = await chromium.launch(params);
const context = await browser.newContext({
// 全屏填null
viewport: null,
storageState: authState,
// 忽略https的问题
ignoreHTTPSErrors: true
});
const page = await context.newPage({
});

return {
browser,
context,
page
}
}

module.exports = {
createBrower,
}

TODO: 手动开启浏览器,链接到已有浏览器

拦截网络请求并替换结果

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const forbidRequest = async (page) => {
// 参数可以填请求地址或者正则表达式,例如:/aaa$/以aaa开头的请求
page.route('参数', async route => {
// Fetch original response.
const response = await page.request.fetch(route.request());
// Add a prefix to the title.
let body = {}
// 这里要注意,一定要转json字符串
const result = JSON.stringify(body)
route.fulfill({
// Pass all fields from the response.
response,
// Override response body.
body:result,
});
});
}

网页输入框无法输入

本来对于输入框,应该使用page.fill()去输入

但是总有一些奇奇怪怪的情况,无法输入

对于这种情况,我们可以通过page.key去操作键盘输入

阅读全文 »

背景

几天了,毫无进展

钓鱼试一下把

邮件钓鱼好像很有意思

SPF

首先我们需要了解SPF

SPF的全称是Sender Policy Framework,即发件人策略框架

说简单一点,SMTP框架设置的很简略,允许任何人声明他是谁并给你发邮件,但是其实并不能保证他真的是谁

那么就要打补丁了

补丁就是SPF

阅读全文 »

背景

有同事不会配,帮忙配了一下,顺带记录成文字

页面介绍

装完长这个样子

1.配置可用的代理服务

我们有时候会起不同的代理服务以应对不同的需求

比如有时候翻墙我们会使用小猫咪或者小飞机

而进行安全测试的时候则使用Burp

开发有时候轻量一点会使用Fiddler或者Charles

阅读全文 »

Centos

安装docker

1
2
3
4
5
6
7
8
sudo yum check-update
sudo yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#sudo yum install docker -y
sudo yum install -y docker-ce
sudo systemctl start docker
sudo systemctl enable docker
docker --version

设置镜像

1
2
3
4
5
6
7
8
9
10
11
# 不存在就创建
vim /etc/docker/daemon.json
# 设置内容
{"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://a.ussh.net",
]}
#重载systemd管理守护进程配置文件
sudo systemctl daemon-reload
#重启 Docker 服务
sudo systemctl restart docker

一些镜像地址:

https://dockerproxy.cn/

查看日志

1
2
# dstserver 是容器名字
docker logs -f dstserver

我常用的一些docker

阅读全文 »

方式一 docker安装

1
2
3
4
5
6
7
8
9
10
# 设置docker加速
vim /etc/docker/daemon.json
# 填写内容
{"registry-mirrors": ["https://dockerproxy.cn"]}
# 重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker

# 安装clash镜像
docker run -d --name=clash -v "$PWD/clash:/root/.config/clash/" -p "7890:7890" -p "7891:7891" -p "9090:9090" --restart=unless-stopped dreamacro/clash

镜像安装完成,就会在当前目录下生成clash文件夹,打开文件夹,将文件夹下的config.yaml 替换成上面我们从机场购买的配置,就好了

阅读全文 »