• 了解checksec显示的各种参数和保护

    Arch:内核(32位/64位)RELRO在Linux系统安全领域数据可以写的存储区就会是攻击的目标,尤其是存储函数指针的区域。所以在安全防护的角度来说尽量减少可写的存储区域对安全会有极大的好处.GCC, GNU linker以及Glibc-dynamic linker一起配合实现了一种叫做relro的技术: read only relocation。大概实现就是由linker指...
  • 贪心策略(未完结)

    每次都试图解决问题的尽量大的一部分如兑换硬币,先以最多数量的最大面值来迅速减少找零面值 首先确定基本结束条件(最直接的情况——其面值正好等于某种硬币) 减小问题的规模递归算法: 1234567891011121314#!/user/bin/env python3# -*- coding: utf-8 -*-def recMC(coinValueList, change): minC...
  • Python递归(未完结)

    两个特点:1、调用自身2、结束条件为什么func3打印321而func4打印123的原因(看套娃图理解,大框为func,小框为print)(3从外到内,4从内到外) 示例:汉诺塔问题一共n个盘子,把上面的n-1个盘子看成一个整体 把n-1个盘子从A经过C移动到B 把第n个盘子从A移动到C(移动一步的情况) 把n-1个盘子从B经过A移动到C 123456789#!/user/bin/env...
  • 位运算(未完成)

    1、如果n & (n-1)=0,则n为2的幂2、题1:找出唯一成对的数1-1000这1000个数放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次。每个数组元素只能访问一次,设计一个算法,将它找出来;不用辅助存储空间,能否设计一个算法实现?性质:A^A=0,B^0=B当A^A^B^C^C=B,把重复的数都消掉了用这100...
  • 动态规划(未完成)

    https://www.bilibili.com/video/BV1XR4y1j7Lo?spm_id_from=333.788.videopod.sections&vd_source=2a065d0754c6c2db7ab56846a1452e9f刷动态规划题目的大致流程:1、设计状态(从最简单的情况开始找,在逐步增加;每一步依靠以前的最优解得到现在的步骤)2、写出状态转移方程3、...
  • Pwn-栈溢出

    原理基本的栈帧结构(以 x64 的栈为例)(图片摘自Hello-CTF)RBP 为栈底寄存器,RSP 为栈顶寄存器,分别记录了栈帧中记录数据部分的起始和终止地址。函数的临时变量的在内存中的位置都是通过这两个寄存器加减偏移确定的。栈底分别还记录了上一个栈帧的 RBP 的值,以及函数的返回地址。 方法:1、找常发生栈溢出的危险函数输入: 12345678910111213141516171819...
  • IDA的基本使用

    1、shift+F12查找字符串,左边就是地址,双击就可以进入汇编界面 2、在程序框图界面按Tab进入伪代码界面,按空格进入汇编界面 3、按G跳转到地址 4、左边这玩意是可以拖的(www真不知道),拖动之后可以看到地址(Start)
  • 使用服务器docker搭建Pwn题目

    一、docker的安装1、安装前先卸载操作系统默认安装的dockersudo apt-get remove docker docker-engine docker.io containerd runc 2、安装必要支持sudo apt install apt-transport-https ca-certificates curl software-properties-common gnu...
  • 2024年11月第四周周报

    2024年12月第一周周报完成事项 WSL+Pwn环境的配置(安装pwntools、WSL+IDA动态调试、WSL+VSCode半本地编程) 学习了C++字符串函数 Pwn学习路线规划 未完成事项 复盘新生赛Pwn题目 NewStar CTF Pwn题目复盘 如何解决未完成事项下周开始刷 下周待做事项 完成上周未完成事项(两个比赛的复盘) 看Cyberangel的语雀 本周学习的知识分...
  • IDA+WSL2实现本地linux动态调试

    1、首先在ida安装目录找到dbgsrv这个文件夹,打开后把“linux_server”这个文件拖到你的linux中(我放在/root位置)2、然后赋予两个文件权限(linux-server和要调试的文件) 12chmod +x /root/linux_serverchmod +x 你的待调试文件位置 然后运行调试组件 1/root/linux_server64 参数:“-p端口”...
191011121314