我的GitHub
0%

  1. 查看进程

    1
    2
    ps aux

  2. nginx

阅读全文 »

背景

几天了,毫无进展

钓鱼试一下把

邮件钓鱼好像很有意思

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
12
13
14
# 不存在就创建
vim /etc/docker/daemon.json
# 设置内容
{"registry-mirrors": [
"https://docker.1panel.dev",
"https://docker.fxxk.dedyn.io",
"https://docker.xn--6oq72ry9d5zx.cn",
"https://docker.m.daocloud.io",
"https://a.ussh.net",
"https://docker.zhai.cm"]}
#重载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 替换成上面我们从机场购买的配置,就好了

阅读全文 »

背景

需要监听某个网络请求

并根据body信息做出判断

将结果展示到插件页面

manifest.json

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
{
"manifest_version": 2,
"name": "xxx",
"version": "0.0.1",
"description": "xxx",
"permissions": [
"contextMenus",
"cookies",
"storage",
"history",
"webRequest",
"webRequestBlocking",
"*://*/*",
"http://www.baidu.com/*",
"tabs"
],

"content_scripts": [
{
"matches": [
"http://www.baidu.com/*"
],
"js": [
"content.js"
],
"run_at": "document_start",
"all_frames": true
}
],
"browser_action": {
"default_title": "xxx",
"default_popup": "popup.html"
},
"icons": {
"16": "icons/icon.png",
"32": "icons/icon.png",
"48": "icons/icon.png",
"128": "icons/icon.png"
},
"web_accessible_resources": [
"injected.js"
]
}

injected.js

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
(function () {
let origFetch = window.fetch;
window.fetch = async function (...args) {
const response = await origFetch(...args);
// console.log('fetch request:', args);

const [url] = args

const data = await response
.clone()
.json() // 此处需要根据不同数据调用不同方法
.catch(err => console.error(err));

// 对于二进制大文件可以创建为URL(blob:开头),供其它脚本访问
//sessionStorage['wave'] = URL.createObjectURL(data); // 插件需要添加'storage'权限
// // 只监听某些地址
if (url === './xx/xx/xx' && data.respData.corpOther.includes('xxxx')) {
window.postMessage({ type: 'type', data: data.respData }, '*'); // send to content script
}

return response;
}
})();
// 下面为xhr,需要则打开
(function (xhr) {

var XHR = XMLHttpRequest.prototype;

var open = XHR.open;
var send = XHR.send;

XHR.open = function (method, url) {
this._method = method;
this._url = url;
return open.apply(this, arguments);
};

XHR.send = function (postData) {
// console.log('xhr request:', this._method, this._url, postData);
this.addEventListener('load', function () {
// sessionStorage['key'] = JSON.stringify(response); // 插件需要添加'storage'权限
// document.cookie
// localStorage['key']
// console.log('xhr监听完成');
window.postMessage({ type: 'xhr', data: this.response }, '*'); // 将响应发送到 content script
});
return send.apply(this, arguments);
};
})(XMLHttpRequest);

content.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
console.log('编号查询插件注入成功');

// inject injected script
let s = document.createElement('script');
s.src = chrome.runtime.getURL('injected.js');
s.onload = function () {
this.remove();
};
(document.head || document.documentElement).appendChild(s);

// receive message from injected script
window.addEventListener('message', function (e) {
// 判断类型
const type = e.data.type
if (type === 'ocr') {
chrome.storage.local.get(["result"], function (result) {
console.log(123);
const data = result.result ?? ''
const tmp = data + e.data.data + '\n'
chrome.storage.local.set({ result: tmp })
})
}
});
阅读全文 »