推荐阅读
[pwn] 2016_zctf_note2 (Unlink) binary

[pwn] 2016_zctf_note2 (Unlink)

算是unlink的一道经典题目,借助这道题来整理一下Unlink任意写的基本使用方法与注意事项。exp参照官方wp做了调整。 这里不对题目本身做太多逆向分析,下面是下载链接,包含了题目和exp:点击下...
继续阅读
[数据结构] C语言队列实现 C++学习

[数据结构] C语言队列实现

英语课日常摸鱼,写个队列。懒得封装了,一团糊 队列结构 无论是用数组还是链表来实现队列,关键就在于用front和rear指针去维护整个队列。 注意考虑好各个方法实现的逻辑完整性,不然很容易出现漏洞。 ...
继续阅读

[笔记] KMP算法

算是一个比较简单的算法吧,主要思想就是空间换时间。挺早之前在知乎上看到一篇文章写的不错,看懂了个大概,但是还没写过。于是趁有时间(偷懒)写了个简单的例子,备忘。 https://www.zhihu.c...
继续阅读

[pwn] 2014_hack.lu_oreo (House of sprit )

题目很巧妙,而且很容易忽略一些细节导致掉进坑里出不来。本人在写的时候就遭遇了一些百思不得解的问题,而后通过慢慢的调试推演找到了问题所在地。在博客里🐎一下,防止以后再犯。参考资料: https://wi...
继续阅读

[pwn] hacknote (UAF)

Linux中堆相关的基础知识太多了,研究了好久(为此还专门装了一个ubuntu 16.04 ),尝试做uaf题的时候按照自己的理解写exp,然后很顺利的成功了,记录一下我的思路。 题目分析 题目:ha...
继续阅读
编程题目 writeup C++学习

编程题目 writeup

鉴于你校人均OI背景,我这种弱者得自己找时间补补了。 模拟题 铺地毯(洛谷) https://www.luogu.org/problem/P1003 这题是一道模拟题,但是有坑。如果直接照着题目文字流...
继续阅读
base64加密原理以及C语言实现 binary

base64加密原理以及C语言实现

按照二进制学习的路线,了解二进制程序常用的加密方式以及对应的汇编、伪代码特征是很必要的。我在CSDN上看了很多篇方法都不一样,而且很冗长,于是打算自己用C实现一下。 0x00 base64的原理 编码...
继续阅读
C语言链表的实现 binary

C语言链表的实现

唉,总得水点啥。 0x00 啥是链表 链表是区别于数组的非连续结构,每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。相比于插入或删除数据时数组的复杂度O(n),链...
继续阅读

🔥 EDNS简述与利用

EDNS的由来 1、什么是EDNS?     EDNS就是在遵循已有的DNS消息格式的基础上增加一些字段,来支持更多的DNS请求业务。 需要注意的是,像DNS服务器这样一...
继续阅读
DNS负载均衡基础知识 (一) moeCTF笔记

DNS负载均衡基础知识 (一)

当网站的访问量大了就会考虑负载均衡,这也是每一个架构师的基本功了,其基本地位就相当于相声里的说学逗唱,活好不好就看这个了 :) 传统的负载均衡思路是单点的,不管你是硬件的还是软件的基本都是这样的原理 ...
继续阅读
(转自CTFwiki)SQL注入技巧 moeCTF笔记

(转自CTFwiki)SQL注入技巧

基本概念 SQL 注入是一种将 SQL 代码插入或添加到应用(用户)的输入参数中,之后再将这些参数传递给后台的 SQL 服务器加以解析并执行的攻击。攻击者能够修改 SQL 语句,该进程将与执行命令的组...
继续阅读

SHA1的原理与破解方法

SHA1 基本描述 SHA1 的输入输出如下 输入:任意长的消息,分为 512 比特长的分组。首先在消息右侧补比特 1,然后再补若干个比特 0,直到消息的比特长度满足对 512 取模后余数是 448,...
继续阅读

(转自CTFwiki)栈溢出基础(二)

栈溢出原理 介绍 栈溢出指的是程序向栈中某个变量中写入的字节数超过了这个变量本身所申请的字节数,因而导致与其相邻的栈中的变量的值被改变。这种问题是一种特定的缓冲区溢出漏洞,类似的还有堆溢出,bss 段...
继续阅读