随笔分类 -  CTF

摘要:参考:pwn小白入门02 汇编函数调用过程_苏璃只想划水的博客-CSDN博客_汇编 过程调用 var code = "037df138-814c-40db-b06a-5603ba3472d3" 测试程序 #include<stdio.h> int sum(int x,int y){ int a=x+ 阅读全文
posted @ 2022-11-12 16:19 轻闲一号机 阅读(9) 评论(0) 推荐(0)
摘要:参考:ret2syscall_Re1own的博客-CSDN博客 pwn小白入门05 ret2syscall_苏璃只想划水的博客-CSDN博客 ret2syscall,即通过ROP控制程序执行系统调用,获取 shell。 系统调用介绍 Linux 在x86上的系统调用通过 int 80h 实现,用系统 阅读全文
posted @ 2022-11-12 01:02 轻闲一号机 阅读(20) 评论(0) 推荐(0)
摘要:md5的长度,默认为128bit,也就是128个0和1的二进制串,及32位十六进制。 16位的md5:是从32位md5值来的。是将32位md5去掉前八位,去掉后八位得到的。 碰撞代码: import hashlib for num in range(10000,9999999999): res = 阅读全文
posted @ 2022-11-01 18:54 轻闲一号机 阅读(10) 评论(0) 推荐(0)
摘要:参考:CTF中关于RSA的常见题型_abtgu的博客-CSDN博客_ctf rsa题目 1. RSA算法需要的基础知识: (5)判断互质数: 1)两个质数一定是互质数。 2)一个质数如果不能整除另一个合数(合数是指在大于1的整数中除了能被1和本身整除外,还能被其他数(0除外)整除的数),这两个数为互 阅读全文
posted @ 2022-11-01 15:29 轻闲一号机 阅读(5) 评论(0) 推荐(0)
摘要:学习b站视频:BV1eq4y1x71H 一、文件类型 1.识别 1.终端输入:file 文件名(Linux) 2.winhex/010 Editor工具(Windows) 2.文件头残缺、错误 通过010 Editor等工具补充文件头 二、文件分离 1.binwalk工具(Linux): 分析文件: 阅读全文
posted @ 2022-07-16 18:32 轻闲一号机 阅读(13) 评论(0) 推荐(0)
摘要:1. 测试shellcode的代码:shellcode_32.c 编译生成shellcode_test(注意取消NX保护,32、64位要区分) 2. shellcode_32.asm源码 3. (1)使用汇编器nasm把shellcode_32.asm编译成shellcode_32.o文件 (2)s 阅读全文
posted @ 2022-05-26 13:41 轻闲一号机 阅读(7) 评论(0) 推荐(0)
摘要:目录 linux系统调用: 获取shellcode两种方式: 1.手写 2.pwntools自动生成 NX保护: 例: ret2text漏洞依赖于程序中存在system(“/bin/sh”)的函数 若没有此函数,可以传入自定义shellcode //shellcode是黑客编写的用于实行特定功能的汇 阅读全文
posted @ 2022-05-24 19:42 轻闲一号机 阅读(29) 评论(0) 推荐(0)
摘要:elf,是Linux的主要可执行文件格式 可通过 pwntools的gdb模块 完成 elf文件的动态调试工作 其中最常用的是attach函数,在指定process之后可以attach上去调试,配合proc模块就可以得到对应进程的pid pwntools开发脚本时如何调试: 1.使用proc.pid 阅读全文
posted @ 2022-05-17 19:55 轻闲一号机 阅读(55) 评论(0) 推荐(0)
摘要:参考:https://bbs.pediy.com/thread-250858.htm 目录 Format String 介绍 格式化字符串漏洞 例1: 例2: 例3: Format String 介绍 1 printf("Team Name: %s\tPoints: %d\n", "Whitzard 阅读全文
posted @ 2022-03-10 20:24 轻闲一号机 阅读(24) 评论(0) 推荐(0)
摘要:AND ESP 0XFFFFFFF0 主流编译器的编译规则规定 “ 程序访问的地址必须向16字节对齐(被16整除)” ,内存对齐之后可以提高访问效率。 对齐前:三次 对齐后:两次 阅读全文
posted @ 2022-03-05 14:30 轻闲一号机 阅读(5) 评论(0) 推荐(0)
摘要:参考文章:Linux下GDB简明教程(包括GUI模式)_whahu1989的专栏-CSDN博客 pwndbg (/paʊnˈdiˌbʌɡ/) 是一个强大的 GDB 插件,通过该插件我们可以在调试时很方便地查看运行环境以及获取堆内存布局等信息。 一、gdb与pwndbg GDB——The GNU Pr 阅读全文
posted @ 2021-11-23 00:57 轻闲一号机 阅读(92) 评论(0) 推荐(0)
摘要:1 保护和溢出 1.1 检查保护情况 1.1.1 CANNARY(栈保护) 栈溢出保护是一种缓冲区溢出攻击缓解手段。当启用栈保护后,函数开始执行的时候会先往栈里插入cookie信息,当函数真正返回的时候会验证cookie信息是否合法,如果不合法就停止程序运行。攻击者在覆盖返回地址的时候往往也会将co 阅读全文
posted @ 2021-11-23 00:55 轻闲一号机 阅读(38) 评论(0) 推荐(0)
摘要:1 溢出产生原因 1.使用非类型安全语言(non-type-safe),如C/C++ 2.编译器设置的内存缓冲区太靠近关键数据结构 2 关于寄存器 寄存器是中央处理器内的组成部分。 标志寄存器: 16位: 共用了9个标志位,它们主要用来反映CPU的状态和运算结果的特征。 32位: 标志寄存器扩展到3 阅读全文
posted @ 2021-11-14 21:51 轻闲一号机 阅读(22) 评论(0) 推荐(0)
摘要:一、原理 1.下载出题人提供的二进制程序,找到攻击目标(记录运行此程序的目标服务器) 2.逆向分析程序,漏洞挖掘 3.利用漏洞写脚本 4.攻击目标服务器获取flag 二、基础 hook:Hook主要就是通过一定手段在程序执行过程中进行干预。 1.语言:C/C++ Python... 2.操作系统:L 阅读全文
posted @ 2021-11-12 18:08 轻闲一号机 阅读(25) 评论(0) 推荐(0)
摘要:1.在管理员模式下安装 sudo su 2.安装python2.7 apt-get install python2.7 python-pip python-dev git libssl-dev libffi-dev build-essential 3.升级pip pip install --upgr 阅读全文
posted @ 2021-11-08 23:21 轻闲一号机 阅读(3) 评论(0) 推荐(0)
摘要:运用Intruder并利用注入漏洞,批量匹配出所需要的数据,一般用于数据库数据提取。 一.检查代理:Proxy--Options 二.拦截关闭:Proxy--Intercept--关闭(Intercept is off) 三.打开浏览器,查看代理 四.打开网址寻找注入点 五.打开bp查看抓取:Pro 阅读全文
posted @ 2021-08-23 11:51 轻闲一号机 阅读(14) 评论(0) 推荐(0)
摘要:应用: 在渗透测试中,进行请求与响应的消息验证分析。如修改请求参数,验证输入的漏洞与逻辑越权;从拦截历史记录中,捕获特征性的请求消息进行请求重放。 功能: 修改和重放http请求,如尝试手工注入,文件上传黑名单的测试等。 基本使用: 一:首先需要抓取一个http请求(历史记录): 1.关掉拦截:Pr 阅读全文
posted @ 2021-08-20 20:47 轻闲一号机 阅读(32) 评论(0) 推荐(0)