这是一篇受密码保护的文章,您需要提供访问密码: 密码:
推荐阅读
[pwnable.tw] Break Out – realloc特性利用
这是一篇受密码保护的文章,您需要提供访问密码: 密码:

Linux下kernel调试环境搭建
前言 环境搭建在虚拟机ubuntu16.04下进行(vm配置开启cpu虚拟化) 一般内核调试需要的东西就是内核镜像和磁盘镜像,不同版本的内核就用不同版本的内核镜像。而需要什么文件就调整磁盘镜像。 安装...
[pwnable.tw] MnO2 指定字符组合shellcode构造
这是一篇受密码保护的文章,您需要提供访问密码: 密码:
[pwnable.tw] CAOV – C++不规范运算符重载的利用
这是一篇受密码保护的文章,您需要提供访问密码: 密码:
[pwnable.tw] Alive Note – 构造分段alpha_shellcode
漏洞利用 程序Heap内存区域有执行权限,并且Add功能存在下标溢出。当使用负数下标时可以覆盖got表项指针指向堆内存,从而执行自定义shellcode。但是堆块输入限制非常大,只有8个字节,而且要求...
[pwnable.tw] bookwrite – no free条件House_of_Orange + unsortedbin_attack
思路: Autor未设置截断导致heap泄露,strlen重设长度时包含下一个chunk的size导致溢出; 进行house of orange释放原先的topchunk进入unsortedbin(进...
![[ByteCTF] Pwn - leak (golang data race)](https://eqqie.cn/wp-content/themes/begin5.2/timthumb.php?src=https://pic1.zhimg.com/80/67f09d490f69eec14c1824d939938e14_720w.jpg?source=1940ef5c&w=280&h=210&a=&zc=1)
[ByteCTF] Pwn – leak (golang data race)
一道google题 golang相关 一些特性 golang默认是静态编译,而且系统ASLR不作用在goroutine自己实现和维护的栈上。从这题上看,main调用了hack,所以对hack的改动不会...
[pwnable.tw] Tcache tear — 利用bss构造堆块的地址泄露技巧
之所以记录这题是因为一开始我忽略了两个很朴素的方法组合在一起所造成的地址泄露技巧——bss任意写+0x20字节输出+伪造堆块。被常规思维束缚(平时比赛的恰饭题千篇一律也是一个原因)的我老想着找办法去打...
[pwnable.tw] re-alloc 极致技巧
不愧是pwnable,又让我见识到了极致的技巧利用... 前置知识 关于realloc realloc原型是extern void *realloc(void *mem_address, unsign...
[TCTF/0CTF Final] babyheap 复现writeup及分析
原writeup把思路写得非常详细,这里不赘述了,提取一些巧妙的攻击思路分析和学习就行 https://hxp.io/blog/77/0CTF-Finals-2020-babyheap/ 前置 原题当...
![[mssctf] 初赛&决赛 PWN部分writeup](https://eqqie.cn/wp-content/themes/begin5.2/timthumb.php?src=https://eqqie.cn/wp-content/uploads/2020/09/初赛终榜-189x300.jpg&w=280&h=210&a=&zc=1)
[mssctf] 初赛&决赛 PWN部分writeup
第一次作为出题人和审题人在正式的大型比赛中出题,还是很新鲜的 初赛 初赛终榜 blind 思路 这是一道签到盲pwn,用于getshell的函数地址已经给出,只需要循环爆破栈溢出字节数即可 通过观察发...
[pwnable.tw] 3×17 – fini_array构造Loop以及ROP
从这题学到很多之前不太注意的地方,因此还盘点了一下C语言程序运行的整个流程,正所谓 ctf for learning(x 前置知识 从Hello world开始 Hello world简单吗?写起来简...
Misc常用CRC32碰撞脚本
观察压缩包分割大小以及CRC32值可以尝试用遍历所有可能出现的字符(string.printable)进行碰撞猜解。 import binascii import string dic=string....
[PWN] 蓝帽杯safebox经典heap:无回显利用off_by_one爆破2字节
safebox 题目文件 pwn libc.so 分析 这个题感觉挺经典的,分配堆时存在一字节溢出。且只能在分配时写入,不能修改,不能打印堆块内容。 整理一下大致的思路,因为需要写malloc_hoo...
配置Apache支持CGI
尝试让apache运行cgi程序 环境ubuntu 18.04 参考链接: https://www.cnblogs.com/pengdonglin137/articles/6830091.html 安...
使用Nginx反向代理Flask静态资源
使用Nginx反向代理Flask静态资源 环境:Ubuntu 18.04 实现原理 如果flask项目里面有大量静态资源,可以尝试使用Nginx代理对静态资源的请求,把真正的动态请求转发给Flask。...
![[笔记] Z3prover 学习记录](https://eqqie.cn/wp-content/themes/begin5.2/timthumb.php?src=https://eqqie.cn/wp-content/uploads/2020/07/QQ截图20200720125803-300x176.png&w=280&h=210&a=&zc=1)
[笔记] Z3prover 学习记录
z3作为微软开发的求解器,其提供的接口在很多应用程序和编程语言中都可以使用。 > z3prover在CHAINSAW和NAVEX中均有使用 在这里关键的作用是想要配和CodeQL,通过CodeQL提取...
![[笔记] CodeQL for Python 文档学习记录](https://eqqie.cn/wp-content/themes/begin5.2/timthumb.php?src=https://eqqie.cn/wp-content/uploads/2020/07/QQ截图20200716184029.png&w=280&h=210&a=&zc=1)
[笔记] CodeQL for Python 文档学习记录
codeql在当下代码分析领域是较为新的技术,网上资料较少,只能从官方文档学习一些有用的东西 官方文档:https://help.semmle.com/QL/learn-ql/python/point...
![[CTF] SCTF2020 PWN部分write up](https://eqqie.cn/wp-content/themes/begin5.2/timthumb.php?src=https://twemoji.maxcdn.com/v/12.1.2/72x72/1f602.png&w=280&h=210&a=&zc=1)
[CTF] SCTF2020 PWN部分write up
解题思路综合了wp和比赛时的思路,做了一点简化 CoolCode 这题一开始粗心了,没看见有个逻辑漏洞导致可以绕过可见字符判断,但是在这种情况下sad师傅还是吧shellcode构造出来了,实属牛批…...
![[转载] LLVM](https://eqqie.cn/wp-content/themes/begin5.2/timthumb.php?src=https://upload-images.jianshu.io/upload_images/3008243-6951acfcbe4e9eff.jpg&w=280&h=210&a=&zc=1)
[转载] LLVM
转载自: https://www.cnblogs.com/wuhh123/p/10668609.html 什么是LLVM LLVM项目是模块化、可重用的编译器以及工具链技术的集合。 美国计算机协会 (...
![[heap] House of Einherjar - 2016 Seccon tinypad](https://eqqie.cn/wp-content/themes/begin5.2/timthumb.php?src=https://eqqie.cn/wp-content/uploads/2020/06/backward_consolidate-1024x598.png&w=280&h=210&a=&zc=1)
[heap] House of Einherjar – 2016 Seccon tinypad
虽然这也不是啥特别高级的技术,都是已有技术的组合。但是在实际运用的时候面临各种条件限制,各种奇葩构造方式真是让人心力憔悴。这部分wiki里给的例题还不错,集合了很多实用的技巧,值得深入分析。 引用: ...
[heap] House of Orange 堆利用技巧
参考来源: https://wiki.x10sec.org/pwn/heap/house_of_orange/ (这里总结一下做个笔记) 0x00 背景 少数情况下不能直接控制free函数释放掉想要的...
![[SROP] ciscn_2019_s_3题解](https://eqqie.cn/wp-content/themes/begin5.2/timthumb.php?src=https://wiki.x10sec.org/pwn/stackoverflow/figure/srop-example-1.png&w=280&h=210&a=&zc=1)
[SROP] ciscn_2019_s_3题解
这是一道入门级别的Kernel rop,但是写的时候不小心翻车了,记录一下一些细节。 0x00 分析 首先在IDA中可以发现三个主要的函数 main text:000000000040051D ; i...

C++ 实现哈夫曼树
离散数学课本最后一章有讲到这一种“近大远小”的数据结构哈夫曼树,这种数据结构是实现哈夫曼编码的基础,书上讲得比较抽象于是尝试用C++简单的实现一下。 0x00 前提 在这看到了一个比较通俗易懂的解释:...
sctf_2019_easyheap 的两种解法
直接用shellcode解的方法比较容易,但是另一种攻击stdout泄露地址的方法更为巧妙 0x00 预期解,使用shellcode 思路: 拿到mmap的地址,以及程序基地址构造unlink拿到bs...
Dijkstra 算法的 python 实现
离散课上图论的时候讲了理论知识,但是还没实践过,于是拿python写了一下,顺便做个笔记防止忘记。 python自带的数据结构比较丰富,写起来的确顺滑很多,太香了md mymap = { 1:{1:0...
[pwn] 踩坑记录:ciscn_2019_c_1 – 关于payload破坏的绕过
本质上是个很简单的pwn,但是开头对payload的异或运算破坏了payload结构,于是一直想着怎么构造payload,忽略了一个绕过技巧。 0x00 题目本身不复杂,可以操作的就是一个加密功能,g...
![[pwn] Unsorted_bin_attack的基本利用思路](https://eqqie.cn/wp-content/themes/begin5.2/timthumb.php?src=https://eqqie.cn/wp-content/uploads/2020/04/unsortedbin-attack过程-1024x450.png&w=280&h=210&a=&zc=1)
[pwn] Unsorted_bin_attack的基本利用思路
0x00 原理 Unsorted_bin_attack 是一种比较基础的堆利用手法,常用于可以通过溢出,uaf或其它一些手法控制Unsorted_bin中末尾块(unsorted_arena->...
[web] 巧妙绕过sql注入中SELECT、FROM等关键字限制
在一道题上学到一个骚技巧,不放题,单纯记录一下。有时在可以叠加注入的情况下遇到对select等关键字的限制导致不能读取相应内容,于是可以用sql中的预编译语句以及字符串拼接进行绕过。 预编译语句是为了...
![[web] [RoarCTF 2019]Easy Calc](https://eqqie.cn/wp-content/themes/begin5.2/timthumb.php?src=https://eqqie.cn/wp-content/uploads/2020/04/QQ截图20190927191232-1024x217.png&w=280&h=210&a=&zc=1)
[web] [RoarCTF 2019]Easy Calc
卑微web菜鸡.... 要用到的几个php函数 部分常用函数在waf中可能会被过滤掉,需要用一些其它的函数。 vardump() 将变量以字符串形式输出,替代print和echochr() ASCII...
![[pwn] 高级rop技巧:SROP(Sigreturn Oriented Programming)](https://eqqie.cn/wp-content/themes/begin5.2/timthumb.php?src=https://wiki.x10sec.org/pwn/stackoverflow/figure/ProcessOfSignalHandlering.png&w=280&h=210&a=&zc=1)
[pwn] 高级rop技巧:SROP(Sigreturn Oriented Programming)
这玩意太烧脑了,网上找到相关的题也不多,故记录一下学习心得待日后忘了的时候方便回忆一下... Linux 下的signal机制 为了使用SROP,最好是对linux下的signal机制做好功课。对于不...
[python] Python 中的 generator(生成器)
生成器是进入python更高层次一个很重要的概念,这里用一个小例子简单记录一下 0x00 什么是生成器 借用一个生成斐波那契数列的python代码进行解释,这是一般的写法: def fab(max):...
![[pwn] 高级ROP技巧:ret2_dl_runtime_solve](https://eqqie.cn/wp-content/themes/begin5.2/timthumb.php?src=https://eqqie.cn/wp-content/uploads/2020/04/re2_dl_runtime_resolve-1024x442.png&w=280&h=210&a=&zc=1)
[pwn] 高级ROP技巧:ret2_dl_runtime_solve
这是一种较难理解的rop技巧,虽然pwntool直接提供了现成的模块进行利用但是我还是打算从原理上摸清楚本文适合具有一定ROP基础的读者阅读示例:XDCTF2015 bof 0x00 原理 说实话查了...
[pwn] partial overwrite:应对地址随机化的小技巧
遇到栈相关的题如果打开了pie和canary是挺麻烦的,但是如果合理的利用栈泄露和部分字节覆写还是可以达到一定程度的程序流控制示例题目: 安恒杯 2018 .07月赛 babypie Arch: am...
![[笔记] 在发生Unlink时一个要注意的细节](https://img-blog.csdnimg.cn/20190730091439309.png)
[笔记] 在发生Unlink时一个要注意的细节
在写题的时候遇到了一个诡异的问题。去请教了槐师傅,学到了一点带源码调试的技巧,于是尝试手动调试了好久才找到大致原因,归根结底还是没有把glibc中各种堆相关的实现和宏看得足够明白,以至于忽略了一些可能...
WIN32远程DLL注入的基本原理
没想到入坑WIN32居然是从这个地方,由于对WIN32不太了解,所以摸索起来比较困难。sad师傅推荐了《windows核心编程》这本书,个人感觉还是挺好的,就是得耐下心多读读才能领会。 0x00 Wi...
![[pwn] 2016_zctf_note2 (Unlink)](https://eqqie.cn/wp-content/themes/begin5.2/timthumb.php?src=https://wiki.x10sec.org/pwn/heap/figure/unlink_smallbin_intro.png&w=280&h=210&a=&zc=1)
[pwn] 2016_zctf_note2 (Unlink)
算是unlink的一道经典题目,借助这道题来整理一下Unlink任意写的基本使用方法与注意事项。exp参照官方wp做了调整。 这里不对题目本身做太多逆向分析,下面是下载链接,包含了题目和exp:点击下...
[数据结构] C语言队列(链表实现)
英语课日常摸鱼,写个队列。懒得封装了,一团糊 队列结构 无论是用数组还是链表来实现队列,关键就在于用front和rear指针去维护整个队列。 注意考虑好各个方法实现的逻辑完整性,不然很容易出现漏洞。 ...
![[笔记] KMP算法](https://eqqie.cn/wp-content/themes/begin5.2/timthumb.php?src=https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=2587396138,459350149&fm=26&gp=0.jpg&w=280&h=210&a=&zc=1)
[笔记] KMP算法
算是一个比较简单的算法吧,主要思想就是空间换时间。挺早之前在知乎上看到一篇文章写的不错,看懂了个大概,但是还没写过。于是趁有时间(偷懒)写了个简单的例子,备忘。 https://www.zhihu.c...
[pwn] 2014_hack.lu_oreo (House of sprit )
题目很巧妙,而且很容易忽略一些细节导致掉进坑里出不来。本人在写的时候就遭遇了一些百思不得解的问题,而后通过慢慢的调试推演找到了问题所在地。在博客里🐎一下,防止以后再犯。参考资料: https://wi...
[heap] __malloc_hook初体验
在Arbitrary Alloc 的学习中,不可避免的一种用法就是通过字节偏移伪造size域绕过malloc的检测从而在__malloc_hook处伪造一个chunk,达到任意写的目的。 参考资料:h...
[pwn] hacknote (UAF)
Linux中堆相关的基础知识太多了,研究了好久(为此还专门装了一个ubuntu 16.04 ),尝试做uaf题的时候按照自己的理解写exp,然后很顺利的成功了,记录一下我的思路。 题目分析 题目:ha...

编程题目 writeup
鉴于你校人均OI背景,我这种弱者得自己找时间补补了。 模拟题 铺地毯(洛谷) https://www.luogu.org/problem/P1003 这题是一道模拟题,但是有坑。如果直接照着题目文字流...

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

C语言链表的实现
唉,总得水点啥。 0x00 啥是链表 链表是区别于数组的非连续结构,每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。相比于插入或删除数据时数组的复杂度O(n),链...
Python根据p、q、e参数生成RSA私钥的代码
写Crypto题挺好用的,🐎住🐎住。 使用Crypto库需要py2环境,更高版本用的是另外一个库(自行百度,懒): import math import sys from Crypto.PublicK...

moeCTF_2019_WriteUp via GitHub
author: 赤道企鹅 date: 2019-9-16 group: binary Writeup Pwn 一、EasyPwn题解 第一步:打开IDA分析题目下载的程序发现有一个可以被pwn的关键函...
(转载) 各种分组加密的区别
原文:《分组加密的四种模式(ECB、CBC、CFB、OFB)》转载自:https://www.cnblogs.com/yanzi-meng/p/9640578.html 加密一般分为对称加密(Symm...

对于ECB的初步认知
moeCTF中有一道题,flag.bmp使用了sm4-ecb加密得到flag.bmp.enc后需要解出flag,而我这个菜鸡之前过于注重sm4的分析,忽略了ECB ECB加密方式的特点 ECB通过补充...
Nginx与php-rpm的结合
工作原理 http请求->nginx->php-fpm http请求:由用户发起 nginx:解析和代理用户请求的流量 php-fpm:fastCGI的实现,后端进程管理 安装软件 安装nginx s...

Ubuntu配置Nginx+Php
nginx安装: 1>weget http://nginx.org/download/nginx-1.15.0.tar.gz //从官网找 2>tar -xvf ./nginx-1.15....

反射型 DDoS 攻击的原理和防范措施
随着僵尸网络的兴起,同时由于攻击方法简单、影响较大、难以追查等特点,分布式拒绝服务攻击(DDoS,Distributed Denial of Service)得到快速壮大和日益泛滥。成千上万主机组成的...
EDNS简述与利用
EDNS的由来 1、什么是EDNS? EDNS就是在遵循已有的DNS消息格式的基础上增加一些字段,来支持更多的DNS请求业务。 需要注意的是,像DNS服务器这样一个大型且广泛应用的系统软件,新...

DNS负载均衡基础知识 (一)
当网站的访问量大了就会考虑负载均衡,这也是每一个架构师的基本功了,其基本地位就相当于相声里的说学逗唱,活好不好就看这个了 :) 传统的负载均衡思路是单点的,不管你是硬件的还是软件的基本都是这样的原理 ...

基于DNS的负载均衡原理
DNS(Domain Name System)是因特网的一项服务,它作为域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网文章出自:http://blog.csdn.net/cywo...
神奇的哈希长度拓展攻击(hash length extension attacks)
介绍 基本定义如下,源自维基百科。 哈希长度扩展攻击 (Hash Length Extension Attacks) 是指针对某些允许包含额外信息的加密散列函数的攻击手段。该攻击适用于在消息与密钥的长...
从网络搜集的Linux下GDB的使用方法
1.什么是GDB,能干啥? gdb是GNU开源组织发布的一个强大的Linux下的程序调试工具。 一般来说,GDB主要帮助你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自定义的要求随心所...

(转自CTFwiki)SQL注入技巧
基本概念 SQL 注入是一种将 SQL 代码插入或添加到应用(用户)的输入参数中,之后再将这些参数传递给后台的 SQL 服务器加以解析并执行的攻击。攻击者能够修改 SQL 语句,该进程将与执行命令的组...
SHA1的原理与破解方法
SHA1 基本描述 SHA1 的输入输出如下 输入:任意长的消息,分为 512 比特长的分组。首先在消息右侧补比特 1,然后再补若干个比特 0,直到消息的比特长度满足对 512 取模后余数是 448,...