科学上网搭建之间先说明:禁止使用ssr做一些违法的事情,向他人出售也是犯法的!!!!
ssr搭建
vultr购买国外服务器
自己注册登陆,这点不说啥点击左边的billing有各种购买方式 自己选择微信或者支付宝付款就可以这点最只能充值10美元 自己可以考虑和别人合租 比较划算点击右边的加号有各个国家的服务器 不同系统服务器 价格也不同我们服务器就选择默认的Centos7就行 价格选择3.5美元一个月的2.5美元的事only IPv6是不行的 服务器呢最好选择日本 其次是Los Angeles最后把Enable IPv6和Enable Private Networking勾选上 就可以D...
0x00 babystack
知识点 通过vsyscall来bypass vsyscall只能从调用开始的地方开始 vsdo可以任意位置exp
123456789101112131415161718from pwn import *p=process('./babystack')payload = 'a'*24 + p64(0xffffffffff600000)*2#0xffffffffff600000为vsyscall起始地址 vmmap可查到vsyscall#前24字节是溢出覆盖到ebp 后接ret不过连续调用了'''00:0000│ rsp 0x7fffffffe4...
知识点1.查偏移写入 64位前6个参数是存在6个寄存器里 所有gdb查到的位置需要+62.写入最好分段写入不要一次性写入太多 否则会崩溃exp
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263#!/usr/bin/python# -*- coding: utf-8 -*-from pwn import *#文件加载#context.log_level = 'debug'io = process('./a...
知识点1.small chunk释放时候fd bk指到main_arena的0x58出 main_arena存在libc段2.small chunk加入fastbin时候需要修改size位过检测3.malloc_hook检测申请堆 平常0 不为0先执行里面的内容exp
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485...
0x00 前言hxb2018题目 pwn1-Regex Format赛时没有做出来 听师傅们说用IO_FILE文件劫持流 赛后学习了学习只能说学到姿势比赛都没用到 一比赛就有新姿势..0x01 IO_FILE_stdout
这点我不用多详细介绍.. CTF-WIKI中有详细的介绍https://ctf-wiki.github.io/ctf-wiki/pwn/linux/io_file/introduction/我们主要讲一下这个如何使用这个漏洞方法 FILE文件结构是12345struct _IO_FILE_plus{ _IO_FILE file; IO_...
0x00 前言题目来自湖湘杯 Reverse Replace 题目不算太难但是逻辑很复杂
0x01 关键点寻找先把文件脱壳 带入IDA中看
里面有个重点输入buf必须是35长度进入sub_401090函数看看12345678910111213141516171819202122232425262728293031323334353637383940signed int __fastcall sub_401090(int a1, int a2){ int v2; // ebx int v4; // edx char v5; // al int v6; // esi i...
0x00 堆溢出:bb_tcache山大的题目 第一次接触堆的题目 以前只是看过堆溢出unlink相关的知识山大题目连接http://47.105.148.65:4000/login?next=%2Fchallenges先简短解释下这道题堆题用到的知识malloc_hook堆钩1malloc_hook是在调用malloc函数之前检查的地方,正常情况下该地址下的值为0,如果该内存不为0,则会在malloc前先执行malloc_hook中的地址的内容 也就是说如果我们在这块内存写入one_gadget,就会在malloc前执行one_gadget。每次调用堆的申请 释放等函数时候实际会先执行...
0x00 前言CTF-WIKI种给出的原理ret2libc原理:如果我们知道 libc 中某个函数的地址,那么我们就可以确定该程序利用的 libc。进而我们就可以知道 system 函数的地址。那么如何得到 libc 中的某个函数的地址呢?我们一般常用的方法是采用 got 表泄露,即输出某个函数对应的 got 表项的内容。当然,由于 libc 的延迟绑定机制,我们需要泄漏已经执行过的函数的地址。我们自然可以根据上面的步骤先得到 libc,之后在程序中查询偏移,然后再次获取 system 地址
自己理解:就是通过OGT表leak出已经执行的函数地址 通过这个函数地址找到libc的基地 再通...
0x00 前言天真无知的我一直以为栈溢出是最简单的 以为结构简单 不像堆溢出那样杂乱无章 但学习了学习ROP之后 发现栈溢出姿势多也不是那么简单! 本此做一个系列文章 后面会持续发布ROP其他姿势0x01 栈溢出介绍所谓栈溢出就是在栈结构里一个数据溢出到栈里其他位置 导致其他位置的值被改变 从而达到攻击者自己想要的效果 先给大家看一下栈结构给大家举一个例子12345void fun(arg1,arg2){}当这样的一个fun函数被调用时候1.先把arg2压入栈 再把啊arg1压入栈2.将ret返回地址压入栈3.函数里面其他内容
栈是有长度的 而你输入数据如果没有长度限...
0x00 前言这个漏洞刚开始在网上看到的 第一次没有看懂 后面找到一个博客上的例子 但还是没有调试成功 又问了团队的丁佬(Greenhand)丁佬带我操作了一番 让我有了个了解 下面给大家细细讲解一下!0x01 漏洞原理所谓格式化字符串是当你用prinft这种 需要格式化的输出语句时候 平常人可能会是printf(format,string)但也会有人为了省力气 printf(string) 但这样是不行的! 你不能将这个format的权限给别人 否则会导致格式化字符串漏洞 进而导致任务地址可写!!!先讲一下printf中format都有什么 都可以干什么这是printf压入栈中的顺序f...