摘要: ret2libc 原理:ret2libc即控制函数执行libc中的函数,通常返回至某个函数的plt处或者函数的具体位置(即函数对应的got表项的内容)。一般情况下,我们会选择执行system("/bin/sh"),故而此时我们需要知道system函数的地址。 ret2libc1 [*] '/root 阅读全文
posted @ 2021-01-21 08:54 莫黎_MOLI 阅读(181) 评论(0) 推荐(1) 编辑
摘要: 题目来自ctfwiki,一个很好的ctf入门网站(本人也是萌新,希望与各位大神一起成长),题目链接https://ctf-wiki.github.io/ctf-wiki/pwn/linux/stackoverflow/basic-rop-zh/ 1.首先使用checksec工具查看一下架构 root 阅读全文
posted @ 2020-11-30 21:29 莫黎_MOLI 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 遍历整个列表 >>> magicians = ['alice','david','carolina'] >>> for magician in magicians: ... print(magician) ... alice david carolina 深度的研究循环 在前面使用简单循环的时候,p 阅读全文
posted @ 2020-11-21 14:59 莫黎_MOLI 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 列表简介 列表是什么 列表由一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有的字母、数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。鉴于列表通常包含多个元素,给列表指定一个表示复数的名称是一个不错的主意。 在linux中,用方括号[]来表示列 阅读全文
posted @ 2020-11-21 14:37 莫黎_MOLI 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 变量和简单数据类型 变量 python3 message=“Hello Python World!” print(message) 我们添加了一个名为message的变量,运行之后的结果是 Hello Python World! 变量的命名和使用:(这部分和C基本是一样的) 变量名只能包含字母、数字 阅读全文
posted @ 2020-11-12 20:13 莫黎_MOLI 阅读(113) 评论(0) 推荐(0) 编辑
摘要: ###格式化字符串-相关知识点CTFWiki ###一、查看开启的保护 只有PIE没有开启,32位 二、逻辑程序分析 可以看到只需要让pwnme的值等于8就拿到了flag exp如下 from pwn import * #r = process("./1") r = remote('220.249. 阅读全文
posted @ 2020-10-27 22:02 莫黎_MOLI 阅读(132) 评论(0) 推荐(0) 编辑
摘要: ###此题是一道整数溢出类型的题,我们首先来看一下整数溢出的原理╰(°▽°)╯ ####整数溢出原理 整数分为有符号和无符号两种类型,有符号型最高数位为符号位,无符号型所有的数位都是表示数。 常见的整数类型和包含的字节数如下表; 类型 占用字节数 取值范围 Int 4 -2147483648~214 阅读全文
posted @ 2020-10-27 21:30 莫黎_MOLI 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 一、linux环境下解压 libc_32.so.6是动态链接库。 查看一下保护 可以直接栈溢出;基地址不变化;对数据有执行权限。 二、逻辑程序分析 main函数 vulnerable_function()函数 无system,无binsh,明显为ret2libc *ret2lib是一种利用缓存区溢出 阅读全文
posted @ 2020-10-26 14:57 莫黎_MOLI 阅读(337) 评论(0) 推荐(1) 编辑
摘要: cgpwn2-writeup 一.查看开启的保护 32位程序,保护开启了RELRO和NX,没有Stack和PIE。 ####*防护机制 #####ASLR (Address space layout randomization,地址空间布局随机化) 在windows上ASLR主要包括堆栈随机化、PE 阅读全文
posted @ 2020-10-26 08:37 莫黎_MOLI 阅读(186) 评论(1) 推荐(0) 编辑
摘要: 递归算法 void PostOrder(BTNode *bt) { if(bt!=NULL) { PostOrder(bt->lchild); PostOrder(bt->rchild); printf("%d",bt->data); } } 非递归算法 Void PostOrder(BTNode 阅读全文
posted @ 2020-10-24 14:04 莫黎_MOLI 阅读(414) 评论(0) 推荐(0) 编辑