Zer0e's Blog

Zer0e's Blog

Facing the ideal and the reality.

经典算法之选择排序
最近都没时间写文章,想想还是得偶尔空出点时间来写文章学习点东西。讲讲选择排序。选择排序和冒泡排序都是比较基本的排序算法,下面就来简单说说选择排序的实现方法。设数组的下标为[0…n-1],i=0。刚开始整个数组都处于无序状态,在无序区中找到一个最小的数放在第i个位置,则现在[0..i]处于有序区,i++并重复步骤,直到i==n-1,则...
docker常用命令汇总
最近事有点多,一直没啥时间写文章。但是忙不能成为不学习的理由,还是抽空写下文章吧。因为出题目的原因,docker也开始频繁使用了,之前看了两本docker相关的书,但都不满意书的内容,可能是写的太杂太乱。借这个机会总结一下常用的命令方便自己忘记的时候查找吧。搜索docker镜像: 12docker search [镜像名]docke...
经典算法之冒泡排序
冒泡排序法应该是大家最初接触到的排序算法,冒泡排序法简单而且非常容易理解,下面我就以升序为例讲解。设数组的长度为N,比较相邻的两个元素,把其中大的那个数交换放在后面。对第0个到第N-1个数进行遍历之后,最大的数已经“沉”到最后一个,接下来对第0个到第N-2个数进行遍历,直到排序完成。很容易就写出源码。 源码部分12345678voi...
PHP弱类型总结
前言最近强网杯还有其他比赛中,出现了许多php弱类型的题目。用这篇文章总结一下到目前学到的php弱类型。 基础知识学过php的都知道,php中有两种比较符==和===。== 在进行比较的时候,会先将字符串类型转化成相同,再比较=== 在进行比较的时候,会先判断两种字符串的类型是否相等,再比较如果一个字符串和数字比较,则字符串会被转换...
记一次有趣的二次注入
上周强网杯和安恒杯结束了,一直没有时间整理比赛中学习的知识,其实会做的题也不多,但学习的确实挺多,今天就来聊聊强网杯的一道较为简单的注入题。题目是一道二次注入类型。二次注入是为了预防SQL注入攻击,而将输入到应用程序中的某些数据进行了“转义(escape)”,但是这些数据却又在“未被转义(Unescaped)”的查询窗体中重复使用。...
单向链表的学习
最近慢慢地在学习算法,数据结构也越来越难理解,正好碰见一道题目来复习单向链表,使用一元多项式表示多项式并求和。对于链表,结构体中得包含指向下一个节点的指针。这道题的重点在于如何去表示多项式,并且如何去比较指数并相加。先定义结构体并将结构体指针化: 123456struct node { float coef; //系...
misc入门总结
随着hgame线下赛的结束,这一阶段也该告一段落。回想一个多月,既开心又迷茫。平常偶尔打打ctf其实也是蛮开心的,但是当自己面对不会的题目时又十分迷茫(可能这就是咸鱼的痛苦吧)。借此篇文章,也把剩下的自己对于misc的入门知识总结一下。misc,在ctf比赛中也称杂项,大多数为取证题和脑洞题。其中取证题也大多需要脑洞,因此最常见的就...
常见的洗牌算法
学了半年多编程,多多少少也见过好几种排序方法,选择排序,插入排序,冒泡排序等等。而洗牌算法的目的就是将有序的数组打乱。那么,怎么样洗牌才能使所有可能性概率都是一致的呢?我认为要等概论打乱n张牌,那么就得使某一种打乱的方法出现的可能性为1/n!。那么怎么实现呢?我的第一想法是利用伪随机数来进行打乱。例如,我们要打乱10张牌,那么从第一...
CTF入门(坑)总结——web篇
为期一个月的hgame寒假训练赛终于结束了。每周都在做题,讲真这么用功学习还真是很少见。当然,一个月时间自己也学到了很多(虽然还是咸鱼),这里感谢学长们花了很长时间出题目,也感谢几位学长耐心给我解答=。=这篇文章是对寒假学习知识的梳理,也仅代表本咸鱼的观点,如有错误请指出。另外,这边文章也以我在假期写的四篇wp作为参考,链接如下:h...
使用递归算法解决迷宫问题
最近看递归的问题有点多,也逐渐有了自己的想法和思路。对于递归问题,其实让人不理解的无非是它的逻辑思路,遇到不理解的地方在纸上写写逻辑,问题就迎刃而解了。 代码部分12345678910111213141516171819202122232425262728293031323334353637383940414243444546474...
avatar
Zer0e
耿直的现实主义者 / 喜爱安全的web狗 / 无情的bug制造机器