背景
抓包很常见,以前做开发的时候也经常用
无论是charles
还是finddler
等等
你是否遇到过https
一篇红和unkown
的情况?
2024年了,都是https
了把,http
屈指可数
那么我们如何抓包https
呢
证书
其实说白了,证书才是关键
我们抓包的本质,是将网络请求代理到某个软件上
换句话说,自己当“中间人”
php
的代码审计总有这种比较,记录一下
强比较(全等比较符===):强比较要求比较的两个值不仅是值相等,而且类型也必须相等。只有当值和类型都相等时,才会返回 true。
1 | <?php |
弱比较(相等比较符==):弱比较只要求比较的两个值在转换类型后相等即可。如果两个值的类型不同,会尝试将其中一个值转换为另一个值的类型。例如:
1 | <?php |
上述代码中,比较结果相等,由于 $b 是字符串类型,因此 $a 将被自动转换为字符串类型后再进行比较。
密码学入门,我们介绍一些简单的密码
这是一个完备的图灵语言
Brainfuck
基于这样一台机器。它具有一列初始化为0的数组(数组长度最初要求是30,000,但这个标准不是必要的)和一个初始指向第一个元素的指针。
该语言总共只有8个命令,除此之外所有其他字符都会被忽略
1 | ><+-.,[] |
所以看到了这八个字符组成的,就是brainfuck
命令 | 功能 | C语言 |
---|---|---|
> | 指针右移一个元素 | p++; |
< | 指针左移一个元素 | p–; |
+ | 指针当前所指元素加1 | *p++; |
- | 指针当前所指元素减1 | *p–; |
. | 输出指针所指元素对应字符 | putchar(*p); |
, | 输入字符的ASCII码值到指针所指元素 | *p=getchar(); |
[ | 若指针所指元素为0,则跳转到对应 | ‘]’处继续执行 while(*p){ |
] | 若指针所指元素不为0,则跳转至对应 | ‘[‘处继续执行 } |
其实说那么多,也不会自己动手算,让我们上工具
事情是这样的,因为工作的重复率太高,我不得不开发一些脚本来 摸鱼 提高工作效率
但是问题是这样的
我在的单位内外网是隔离的,我所在的分支机构没有开发人员,总部有研发中心,但是并不会理会我们这些分支机构
内网的npm
私有库有一个很老的playwright@1.23.4
版本,而我的脚本需要用到一些比较新的特性
我拥有的设备
1 | 内网机: |
而不同版本的playwright
依赖的webdriver
又不一样
而我集齐了windows
,mac
,linux
三种设备。。。
这就意味着我不太好下载对应版本的ms-playwright
(总不能为了下载对应的webdriver
去装个虚拟机吧)
对于带验证码的爆破,需要对验证码进行识别
可以使用captcha-killer-modified搭配Burp
进行爆破
同时推荐ddddocr
现在是2023年9月7日,Pillow==9.5.0
当前的ddddocr
并未对版本进行兼容
我改了两个docker,有需要可以直接拉取部署
1 | # centos |
验证码填写
1 | POST /ocr/b64/text HTTP/1.1 |
文件上传是个经典问题
推荐靶场:upload-labs
我们可以在这个靶场中进行文件上传绕过的练习
先说webshell
,我们写个一句话木马先
这里留个大哥若干年前的总结 webshell一句话木马大全
接下来我们聊聊文件上传的漏洞
直接一句话木马上传就完事了
打开开发者工具,提交文件,看是否存在网络请求