前有WgpSec安全团队提供的WgpSecBot
后有CTFhub提供的比赛赛事日历
再加上最近在摆烂开发,博客啥也没干,于是
拼接起来,做一个比赛信息推送Bot吧!
分类: 脚本
【脚本】Push镜像到Dockerhub
首先你要自己制作一个Docker镜像,这个就不再赘述了,相信各位都会了
- COMMIT你的镜像,-p可选,为commit时暂停容器
docker commit <容器ID> <镜像名:版本号>
- 登录你的Dockerhub
按提示输入账号密码docker login
- 修改规范你的镜像名
规范为<注册用户名/镜像名>
可以通过tag指令修改镜像名docker tag <旧镜像名> <新镜像名>
- 推送至仓库,版本号可填latest,意思是最新的容器
docker push <镜像名:版本号>
登录Dockerhub就确认已经推送上了
如果你在windows下,且有Docker on desktop,你可以通过这样操作登录,直接push
梅开二度:记得给Docker换源,不然慢死,参考脚本如下
【脚本】Linux换源汇总
【CTFd】靶场安装与配置(Docker一键配置版)
【CTFd】靶场安装与配置这由于上一次的配置有点小问题,主要是Whale插件不再支持CTFd3.x版本,于是找了个新的插件使用
并且找到了更好的解决方式,不用那么麻烦配环境了
CTFd-Whale最新维护仓库
这次我采用Docker一键部署,并且稍加改动添加了中文包
成果图
继续阅读【CTFd】靶场安装与配置(Docker一键配置版)
【脚本】正则表达式详解
最近在Github上遇到了个很好的学习正则表达式的仓库
Github-Learn-regex
对于一些正则表达式的高级应用我也不是很熟,于是来重新学习下
在线测试网站Regex101
什么是正则表达式?
正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。
1. 基本匹配
正则表达式其实就是在执行搜索时的格式,它由一些字母和数字组合而成。
例如:一个正则表达式 the
,它表示一个规则:由字母t
开始,接着是h
,再接着是e
。
"the" => The fat cat sat on the mat.
正则表达式123
匹配字符串123
。它逐个字符的与输入的正则表达式做比较。
正则表达式是大小写敏感的,所以The
不会匹配the
。
"The" => The fat cat sat on the mat.
2. 元字符
正则表达式主要依赖于元字符。
元字符不代表他们本身的字面意思,他们都有特殊的含义。一些元字符写在方括号中的时候有一些特殊的意思。以下是一些元字符的介绍:
元字符 | 描述 |
---|---|
. | 句号匹配任意单个字符除了换行符。 |
字符种类。匹配方括号内的任意字符。 | |
[^ ] | 否定的字符种类。匹配除了方括号里的任意字符 |
* | 匹配>=0个重复的在*号之前的字符。 |
+ | 匹配>=1个重复的+号前的字符。 |
? | 标记?之前的字符为可选. |
{n,m} | 匹配num个大括号之前的字符或字符集 (n <= num <= m). |
(xyz) | 字符集,匹配与 xyz 完全相等的字符串. |
| | 或运算符,匹配符号前或后的字符. |
\ | 转义字符,用于匹配一些保留的字符 ( ) { } . * + ? ^ $ \ | |
^ | 从开始行开始匹配. |
$ | 从末端开始匹配. |
【脚本】Linux换源汇总
由于换源需求过多,又不想每一次都上网查,于是有此博客记录不同系统换源过程
PS:为什么不能有一键换源脚本呢
继续阅读【脚本】Linux换源汇总
【CTFd】靶场安装与配置
CTFd是githbu上开源的ctf靶场之一,配合上whale等插件,可以快速搭建一个靶场
CTFd
以下测试环境均为Ubuntu20.04,Python3.8
CTFd官网
CTFd-Github仓库
CTFd中文汉化
由于本人更喜欢汉化风格,所以使用的均为CTFd_chinese_CN下3.4.1版本的CTFd
- 克隆CTFd代码并安装相关依赖
#如果空白环境 sudo ./prepare.sh #如果是在宝塔环境下安装(bt自带的python会产生冲突) sudo apt-get --fix-broken install #如果已经安装好python环境(建议使用3.7) sudo pip install -r requirements.txt
- 下载CTFd_chinese_CN-v3.4.1并将CTFd目录覆盖到你的项目目录
- 运行,默认运行在http://127.0.0.1:4000,你可以通过更改配置文件使其监听0.0.0.0,或者使用nginx反代,此处使用后者
#配置文件CTFd/config.ini python serve.py
【脚本】安卓虚拟机配置
本文分为CM-x86和WSA(Win11安卓子系统)两部分
CM-x86
CM-x86是Android-x86的衍生版本,用作PC的安卓虚拟机再好不过
我使用的是CM-x86-14.1(64位),以下为配置
在安装时有以下几步
- GPT安装 NO
- 创建新磁盘(New)->设置为启动盘(bootable)->写入分区表(Write)
- 安装Grub引导
- EXT4文件格式
- Reboot重启即可
但是完成以上几步,只能进入到安卓的Shell模式,无法进入图形界面,可以选择下面第三个的nomodeset模式
【MISC】Wordle
TQLCTF-Wordle题目出自当下火热的填字游戏
填字游戏的规则为输入五个字母,然后分别返回五个颜色
- 绿色:位置和字母均正确
- 黄色:字母正确位置不正确
- 灰色:字母和位置均不正确
我们的任务就是用最少的次数,把答案找出来
在该题目中,颜色可以通过字节流分辨出来。在这之前,我在B站大学看到过一个讲述相关技术的视频,于是我就翻了下。
利用信息论解决Wordle问题
理论存在,实践开始
于是,又写了一个10K的代码,发现自己的代码只能做到平均4.3左右。
好废物啊我
于是上Github找轮子Wordle-solver
这个开源项目能做到平均3.4,然后就有了如下10K代码
【脚本】WSL数据磁盘迁移
Windows中WSL默认磁盘为C盘,这导致在安装了Docker,Kali,Ubuntu等WSL后,C盘空间不足,于是参照相应Issue有如下脚本
#以下脚本均应该在PowerShell管理员模式下运行
wsl --list -v
PS C:\Windows\system32> wsl --list -v
NAME STATE VERSION
* Ubuntu Running 2
docker-desktop-data Running 2
docker-desktop Running 2
kali-linux Stopped 2
#查看相应WSL
wsl --shutdown
#停止WSL
wsl --export Ubuntu F:\WSL\Ubuntu.tar
wsl --export docker-desktop F:\WSL\docker-desktop.tar
wsl --export docker-desktop-data F:\WSL\docker-desktop-data.tar
wsl --export kali-linux F:\WSL\kali-linux.tar
#导出WSL
wsl --unregister Ubuntu
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
wsl --unregister kali-linux
#删除对应WSL
wsl --import Ubuntu F:\WSL\Ubuntu F:\WSL\Ubuntu.tar --version 2
wsl --import docker-desktop F:\WSL\docker-desktop F:\WSL\docker-desktop.tar --version 2
wsl --import docker-desktop-data F:\WSL\docker-desktop-data F:\WSL\docker-desktop-data.tar --version 2
wsl --import kali-linux F:\WSL\kali-linux F:\WSL\kali-linux.tar --version 2
#在新位置重新导入
wsl -d Ubuntu exit
wsl -d docker-desktop exit
wsl -d docker-desktop-data exit
wsl -d kali-linux exit
#重新对应WSL
ubuntu config --default-user root
kali config --default-user root
#设置Ubuntu/kali默认用户
【脚本】NC中的SHA256解密
VNCTF-CRYPTO-ezmath是一道完全没难度的密码题,但是又是一道非常有难度的脚本题
这题只要返回4*N
就好,难度就在写脚本了
在PWN等运用到nc的题目中,Sha256是最好的防止扫端口的计算方法。
由于Sha256不可逆,我们只好通过暴力或者撞库的方式找出所有解
但是这题又使用的是Sha256(????+XXXXXXXXXXXX)
这样的方式,所以只好选择暴力了
再配合上pwntools,发就完事了
继续阅读【脚本】NC中的SHA256解密