【日记】Web方向入门的一些小建议

转眼大一已经过去了,然而大学生活才刚刚开始。回想2021年10月,我打的第一场CTF比赛,我参加了Aurora的新生赛,这是我参加的第一场比赛,那是我第一次接触网络安全。在那将近一天的时间里,我现学现卖,从我最擅长的Web题开始到需要捣鼓的Misc题,我完成了不少挑战,也在新生赛获得了不错的成绩,以此加入了深大的Aurora战队。

篡权之后登录自己学校的靶场,发现之前的提交记录都被我干掉了,有点惋惜。
file

继续阅读【日记】Web方向入门的一些小建议

【Web】Anaconda介绍、安装及使用

介绍

Anaconda是Python和Conda的组合包,里面附带了不少科学计算使用的Python依赖,并且可以通过Conda进行版本管理,能够便携获得管理包
Conda不仅支持Python,还支持R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN语言(虽然大部分都用不上)

继续阅读【Web】Anaconda介绍、安装及使用

【WEB】POP链的构造

序列化与反序列化

序列化是为了方便于数据的传输,将对象转换为字节流,载入网络/磁盘IO流中,可以通过对应方法将其还原出来。

序列化与编码的区别

对象===【序列化】==>消息===【编码】==>字节流

总结来说就是,先把对象拆开变成一串可以还原成原对象的字符串,再通过特定编码,变为网络传输的字节流

PHP中的魔术方法

__sleep() //使用serialize时触发
__wakeup() //执行unserialize()时,先会调用这个函数
__construct() //对象创建时触发
__destruct() //对象被销毁时触发
__call() //在对象上下文中调用不可访问的方法时触发
__callStatic() //在静态上下文中调用不可访问的方法时触发
__get() //用于从不可访问的属性读取数据
__set() //用于将数据写入不可访问的属性
__isset() //在不可访问的属性上调用isset()或empty()触发
__unset() //在不可访问的属性上使用unset()时触发
__toString() //把类当作字符串使用时触发
__invoke() //当脚本尝试将对象调用为函数时触发
__set_state()//调用var_export()导出类时,此静态方法会被调用。
__clone()//当对象复制完成时调用
__autoload()//尝试加载未定义的类
__debugInfo()//打印所需调试信息

继续阅读【WEB】POP链的构造

【CTFd】靶场安装与配置(Docker一键配置版)

【CTFd】靶场安装与配置这由于上一次的配置有点小问题,主要是Whale插件不再支持CTFd3.x版本,于是找了个新的插件使用
并且找到了更好的解决方式,不用那么麻烦配环境了
CTFd-Whale最新维护仓库
这次我采用Docker一键部署,并且稍加改动添加了中文包
成果图
file

继续阅读【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 完全相等的字符串.
| 或运算符,匹配符号前或后的字符.
\ 转义字符,用于匹配一些保留的字符 [ ] ( ) { } . * + ? ^ $ \ |
^ 从开始行开始匹配.
$ 从末端开始匹配.

继续阅读【脚本】正则表达式详解