- 下载make程序包
- 解压后放到
...\Git\mingw64\目录下
windows修改键位映射
修改注册表
运行regedit,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout项下新建二进制键,命名为ScanCode Map,右键修改。
- 开头第一行固定
00 00 00 00 00 00 00 00 - 填充
xx 00 00 00,其中xx为映射数目 - 填充要替换的字节。替换后的子节在前,替换前的子节在后,例如A替换为B,则填充为BA
- 全部填充完毕后填充
00 00 00 00结束
Capslock 映射到 ESC
1 | 00 00 00 00 00 00 00 00 |
(ESC仍是ESC)
键位表
| 字节码 | 键位 |
|---|---|
00 00 |
None |
01 00 |
Esc |
02 00 |
1 |
03 00 |
2 |
04 00 |
3 |
05 00 |
4 |
06 00 |
5 |
07 00 |
6 |
08 00 |
7 |
09 00 |
8 |
0a 00 |
9 |
0b 00 |
0 |
0c 00 |
- |
0d 00 |
= |
0e 00 |
Backspace |
0f 00 |
Tab |
10 00 |
Q |
11 00 |
W |
12 00 |
E |
13 00 |
R |
14 00 |
T |
15 00 |
Y |
16 00 |
U |
17 00 |
I |
18 00 |
O |
19 00 |
P |
1a 00 |
[ |
1b 00 |
] |
1c 00 |
Enter |
1d 00 |
Left Ctrl |
1e 00 |
A |
1f 00 |
S |
20 00 |
D |
21 00 |
F |
22 00 |
G |
23 00 |
H |
24 00 |
J |
25 00 |
K |
26 00 |
L |
27 00 |
Semicolon |
28 00 |
' |
29 00 |
``` |
2a 00 |
Left Shift |
2b 00 |
\\ |
2c 00 |
Z |
2d 00 |
X |
2e 00 |
C |
2f 00 |
V |
30 00 |
B |
31 00 |
N |
32 00 |
M |
33 00 |
, |
34 00 |
. |
35 00 |
/ |
36 00 |
Right Shift |
37 00 |
n* |
38 00 |
Left Alt |
39 00 |
Space |
3a 00 |
Caps Lock |
3b 00 |
F1 |
3c 00 |
F2 |
3d 00 |
F3 |
3e 00 |
F4 |
3f 00 |
F5 |
40 00 |
F6 |
41 00 |
F7 |
42 00 |
F8 |
43 00 |
F9 |
44 00 |
F10 |
45 00 |
Num Lock |
46 00 |
Scroll Lock |
47 00 |
n7 |
48 00 |
n8 |
49 00 |
n9 |
4a 00 |
n- |
4b 00 |
n4 |
4c 00 |
n5 |
4d 00 |
n6 |
4e 00 |
n+ |
4f 00 |
n1 |
50 00 |
n2 |
51 00 |
n3 |
52 00 |
n0 |
53 00 |
n. |
57 00 |
F11 |
58 00 |
F12 |
1c e0 |
nEnter |
1d e0 |
Right Ctrl |
37 e0 |
PrtSc |
38 e0 |
Right Alt |
47 e0 |
Home |
48 e0 |
Up |
49 e0 |
Page Up |
4b e0 |
Left |
4d e0 |
Right |
4f e0 |
End |
50 e0 |
Down |
51 e0 |
Page Down |
52 e0 |
Insert |
53 e0 |
Delete |
5b e0 |
Left Windows |
5c e0 |
Right Windows |
vscode集成zsh
windows安装zsh
windows无法直接安装zsh,需要借助其他环境安装。
本篇文章借助git-bash安装zsh。
下载zsh安装文件,下载的压缩文件可以使用解压工具解压。
将解压后的文件放到git根目录。
现在可以在git-bash终端下执行zsh进入zsh。
接下来安装oh-my-zsh:
1 | sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" |
vscode集成zsh
在配置文件setting.json中添加下列配置:
1 | "terminal.integrated.defaultProfile.windows": "zsh", |
git跟踪fork
说明
git fork 远程仓库时的操作。
被fork仓库: user_dalao/repo.gitfork仓库: user_me/repo.git
Git 跟踪远程
拉取远程仓库代码
1 | git clone user_me/repo.git |
添加fork仓库为远程仓库(从自己的仓库拉取下来默认是远程仓库,一般会用于推送到远程空仓库)
1 | git remote add origin user_me/repo.git |
指定本地branch-name分支跟踪远程branch-name分支(一般用于创建新分支时,推送到远程分支后同步更改)
1 | git branch --set-upstream branch-name origin/branch-name |
Git 跟踪上游
1 | git remote add upstream user_dalao/repo.git |
pip安装包失败
常见漏洞及拦截方式
SQL注入
原理
用户在输入中混入SQL命令,改变SQL语句本来的逻辑。防御
- 匹配用户输入(长度,关键字,逻辑逻辑改变)
- 检查语句规范,拦截异常SQL语句
- 记录数据库异常
- 正则表达式算法
SSRF
原理
服务器从其他服务器应用获取数据但没有对目标地址做过滤与限制,攻击者可以伪造服务端发起请求,对服务器进行攻击。(内网)防御
- 输入参数来自用户,且为内网IP,判定为SSRF攻击
- 检查常见探测域名
- 检测私有地址
- 检查混淆(如:改变进制)
- 检查特殊协议
url重定向
- 原理
通过url重定向使用户访问其他网站,常用于钓鱼。
防御同SSRF
文件下载
- 防御
- 用户输入匹配
- 用户输入匹配+http协议
- 拦截异常协议
- 禁止访问项目外文件
- 文件探针
文件写入
- 防御
- 拦截NTFS::$DATA写入操作
- 拦截脚本文件写入操作
- 拦截通过反射、反系列化执行的文件写入操作
文件删除
原理
服务器未对用户输入进行限制,用户可以输入服务器文件路径,服务器对其进行解析后会删除服务器中的文件。防御
- 用户输入匹配,禁止
../等
- 用户输入匹配,禁止
文件重命名
- 防御
- 通过重命名方式获取WebShell
文件管理器(文件目录?)
- 防御
- 用户输入匹配
- 通过反射调用查看目录
- 查看敏感目录
文件包含
原理
利用一些文件包含函数(如include,require等)读取其他文件。利用方式
- 读取服务器文件
- 包含远程文件对服务器进行攻击
防御
- 用户输入匹配
- 检查特殊协议
文件上传
原理
利用服务器对文件上传漏洞或者服务器对文件的解析规则漏洞,用户可以通过向服务器上传攻击性的文件,服务器对其解析后执行文件。常见绕过审核方式
- 改文件后缀名绕过检查
- 上传正常拓展名文件后对数据抓包进行修改
- 在正常文件内容中嵌入攻击语句
- 0x00截断
- 多个filename属性混淆
防御措施
- 通过
COPY/MOVE方式上传脚本 - Multipart方式上传脚本
HTML/JS/DLL/EXE等文件
- 通过
XXE
原理
在DTD中引用外部XML实体构造恶意内容,可以进行读取文件内容或执行恶意命令等一系列攻击行为。防御
- 禁用外部实体加载
- 使用异常协议加载外部实体
- 使用file协议读取内容
- 过滤关键字
<!DOCTYPE,SYSTEM等
命令注入
原理
程序中不安全使用命令执行函数(如:exec,system,passthru,eval等),用户可以用来执行攻击语句。防御
- 通过反射执行命令
- 匹配用户输入
- 识别常用渗透命令(探针)
- 查找语法错误和敏感操作
- 记录或拦截所有命令执行操作
XSS
原理
用户将恶意代码写入网页,可以获取被攻击者在目标网站上的cookie等重要信息。类型
- 反射型
写入攻击代码,一次性攻击。 - 存储型
将攻击代码储存到服务器文件或数据库中,每次重新请求页面时都会执行攻击代码。
- 反射型
防御
- 拦截输出在响应里的反射XSS
- (PHP)禁止直接输出GPC参数
- (PHP)拦截PHP[中国菜刀|命令执行|文件上传|
array_map/walk/filter|LD_PRELOAD]后门
更换pip源
镜像
阿里云https://mirrors.aliyun.com/pypi/simple/
中国科技大学https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban) http://pypi.douban.com/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
临时换源
pip(3) install [something] -i [src]
例如 pip3 使用 清华源 安装 numpy
pip3 install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple/
永久换源
Linux
编辑
~/.pip/pip.confWindows
编辑
C:\Users\user_name\pip\pip.ini
1 | [global] |
Github添加SSH Key
安装 git
安装 git
sudo apt install git-core第一次使用要先设置 git 的用户名和邮箱
git config --global user.name 'your_name'git config --global user.email 'your_email@example.com'
注册 github 账户
- 注册 github 账户
添加 SSH 公匙
创建 SSH key
ssh-keygen -C "your_email@example.com"接下来几次询问密码
建议连续回车
默认将 key 存到用户文件下~/.ssh/中将
~/.ssh/id_rsa.pub中的内容粘贴到 github 的 SSH key 中可以通过下指令测试链接
ssh -T git@github.com
git清理仓库
前言
Git 仓库一不注意就变得十分臃肿,很多不想跟踪的文件都留在历史记录里没有删除。
原地址 https://www.jianshu.com/p/fe3023bdc825
查找占用空间最大的文件
git rev-list --objects --all | grep "$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5 | awk '{print$1}')"
从 git 中移除
big_file_name 为要移除的文件git filter-branch --force --index-filter 'git rm -rf --cached --ignore-unmatch big_file_name' --prune-empty --tag-name-filter cat -- --all
真正删除
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now
取消跟踪某个文件
git rm --cached filename
提交到远程
git push origin master --force
git remote prune origin
Linux安装字体
安装 MS 字体
说明
写论文时要求英文字体为Times New Roman和Arial,
这两种字体为 MS 字体,
Linux 系统并没有自带,
需要自己安装。
注意:Microsoft 已免费发布其核心字体,但请注意 Minrosoft 字体是禁止使用在其他操作系统中。
在任何 Linux 操作系统中安装 MS 字体之前请仔细阅读 EULA。
安装
sudo apt install ttf-mscorefonts-installer
会有较为良好的安装引导界面。
安装完成后更新字体缓存:
sudo fc-cache -f -v
安装 Monaco 字体
说明
写论文时希望给附录代码安排个美观的字体,
搜了一下也就 Mac 的 Monaco 字体看着顺眼。
下载
Monaco 下载
[Monaco Nerd Font 下载](/download/Monaco Nerd Font.zip)