CTF
L__y
这个作者很懒,什么都没留下…
展开
-
栈溢出原理
strcpy,字符串复制,遇到'\x00'停止。gets,直接读取一行,忽略‘\x00’strcat,字符串拼接,遇到'\x00'停止。s距离ebp的长度为0x14。原创 2022-08-27 14:32:09 · 361 阅读 · 1 评论 -
PWN1|WP
1.检查保护机制开启了堆栈保护2.用32位IDA打开该文件1.shift+f12查看字符串,我们看到有“/bin/sh”关键字符串字样2. system("/bin/sh")地址为0x0804863A3.进入main函数,我们看到gets()危险函数因为gets()函数不限制用户输入,s长度为0x64,所以造成溢出4.gdb调试(1)cyclic 200生成200个有序字符(2)gdb ./pwn1run命令运行g...原创 2022-04-11 10:36:49 · 668 阅读 · 0 评论 -
XCTF|RE-高手区-BABYRE
1.检查有没有壳2.用64位IDA打开该文件1.shift+f12查看关键字符串,我们看到输入flag关键词和正确的关键词2.进入main函数3.进入judge(),发现点开函数是一些字符串猜测对函数进行加密了:这是加密语句对judge进行解密:插入脚本shift+f12或者编译前:编译后:然后点击judge函数按C,再按P就可以的出加密函数了3.加密函数judgeEXP#enco...原创 2022-03-09 21:25:33 · 187 阅读 · 0 评论 -
PWN|ciscn_2019_c_1
1.检查保护机制(1)开启堆栈保护(2)64位文件2.用64位IDA打开该文件(1)shift+f12查看关键字符串没有看到后面函数(system等)(2)进入mian函数int __cdecl main(int argc, const char **argv, const char **envp){ int v4; // [rsp+Ch] [rbp-4h] BYREF init(argc, argv, envp); puts("EEEEEE...原创 2022-02-28 17:12:10 · 406 阅读 · 0 评论 -
BUUCTF|PWN-[HarekazeCTF2019]baby_rop2-WP
1.检查保护机制开启了堆栈不可执行2.用64位IDA打开该文件(1)shift+f12,查看关键字符串(2)双击,ctrl+x,进入反汇编代码(3)ROPgadget查看返回地址(4)payloadpayload = b'a'*(0x20+0x8) + p64(pop_rdi) + p64(format_) + p64(pop_r15) + p64(got_addr) + p64(0) + p64(plt_addr) + p64(main_addr)1.原创 2022-01-18 15:43:02 · 587 阅读 · 0 评论 -
WIKI|PEN-ret2text-WP
1.检查保护机制(1)开启堆栈不可执行保护(2)该文件是32位文件2.用32位IDA打开该文件(1)先运行试试看(2)shift+f12查看关键字符串我们看到有system("/bin/sh")关键字符串(3)进入main函数看看看到gets()函数我们就看到溢出点了。S:0x64我们构造payload#encoding = utf-8from pwn import*context(os = 'linux',arch = 'i...原创 2022-01-12 20:42:57 · 2082 阅读 · 0 评论 -
BUUCTF|PWN-[OGeek2019]babyrop1-WP
1.检查保护机制(1)该文件是32位文件(2)开启堆栈不可执行2.用32位IDA打开该文件原创 2022-01-12 16:04:50 · 2260 阅读 · 0 评论 -
BUUCTF|PWN-ciscn_2019_n_8-WP(格式化字符串漏洞)
1.检查保护机制(1)保护全开2.运行看一下3.我们用32位的IDA打开该文件(1)Ctrl+F12查看关键字符串(2)查看反编译代码(3)条件满足var[13]!=0 &&var[13] ==17,才能拿到权限(4)var[13]位置在第十四个上payload构造第一种:payload = b'a'*13*4 + p32(17) #qword/IDA在32位里面是4个字节,在64位是/8个字节...原创 2022-01-11 10:28:25 · 2267 阅读 · 0 评论 -
BUUCTF|PWN-[第五空间2019 决赛]PWN5-WP
1.检查保护机制(1)开启了金丝雀和堆栈保护(2)该文件是32位的文件2.用32位的IDA打开该文件(1)F12查看关键字符串(2)我们进入反编译代码看看,看到nptr=unk_804C044才能获取权限(3)unk_804C044有4个字节(4)printf(&buf);存在格式化字符串漏洞(5)kali运行该文件,用%p看出偏移量为10,利用%10$n定位到这个位置payload构造payload = p32(0x804C044...原创 2022-01-10 10:35:38 · 949 阅读 · 0 评论 -
BUUCTF|pwn-jarvisoj_fm-wp
1.例行检查保护机制我们看到开启了堆和栈保护2.我们用32位的IDA打开该文件shift+f12查看关键字符串我们看到关键字符串“/bin/sh”3.我们看看main函数里面有什么我们看到如果x == 4,程序就会执行system("/bin/sh"),拿到权限这里是格式化字符串漏洞x是全局变量,位置在data段上:x_addr = 0x0804A02C我们看看参数在栈上的位置,我们发现aaaa的位置在第十一个4....原创 2021-11-09 21:03:35 · 302 阅读 · 0 评论 -
BUUCTF|PWN-bjdctf_2020_babystack2-WP
1.例行检查保护机制2.我们用64位的IDA打开该文件shift+f12查看关键字符串,我们看到关键字符串"/bin/sh"然后我们找到后门函数的地址:backdoor_addr = 0x04007263.我们看看main函数里面的内容我们看到第一个nbytes是有符号数,第二个nbytes就变成了无符号数我们判断这是一个整数溢出所以-1 = 42949672954.EXP#encoding = utf-8fr...原创 2021-11-09 20:41:25 · 395 阅读 · 0 评论 -
BUUCTF|pwn-bjdctf_2020_babyrop-wp
1.例行检查保护机制2. 我们用64位的IDA打开该文件shift+f12查看关键字符串,没有找到关键字字符串3.我们进入main函数看看发现有两个函数init():这里打印了两句话vuln():打印了一句话,然后我们看到read()函数里面读取了0x64个buf,但是buf只有0x20个字节,所以这里是漏洞4.system("/bin/sh")我们用libc计算偏移量,再计算system("/bin/sh")base_addr...原创 2021-11-09 20:04:32 · 244 阅读 · 0 评论 -
buuctf|pwn-铁人三项(第五赛区)_2018_rop-wp
1.检查保护机制2.我们用32位的IDA打开该文件shift+f12查看关键字符串,没有发现关键字符串3.我们查看main函数里面的内容我们发现有两个函数进入第一个函数进入第二个函数在第二个函数里面发现buf溢出,buf有0x88个字节,但是read()函数读取了0x100个字节4.system("/bin/sh")我们在文件中没有找到可以拿到shellcode权限所以我们要用libc,计算偏移量,拿到shellcode权限...原创 2021-11-09 19:23:13 · 697 阅读 · 0 评论 -
buuctf|pwn-ciscn_2019_ne_5-wp
1.例行检查保护机制2.我们用32位的IDA打开该文件shift+f12查看关键字符串我们看到flag就是我们输入的log3.我们看看main函数里面有什么我们看到第一个条件s1 == 'administrator'进入过后,v3是你想要选择执行的内容ADDLog():我们看到这里是输入log,跟我们的flag有关系 a1是我们外面传进来的src = 48,读取128个就造成了溢出...原创 2021-11-09 16:14:58 · 207 阅读 · 0 评论 -
buuctf|pwn-others_shellcode-wp
1.例行检查保护机制2.我们用32位的IDA打开该文件shift+f12查找关键字符串,没有看到有用的字符串3.我们进入main函数看看我们进入第一个函数看看,没看到什么有用的信息我们再进入第二个函数看看,我们看到了熟悉的身影除此之外我们并没有看到什么有用的信息4.EXP我们先试试用nc能不能打通,因为getShell()函数里面有权限nc node4.buuoj.cn 28625...原创 2021-11-09 11:31:10 · 164 阅读 · 0 评论 -
buuctf|pwn-ciscn_2019_n_5-wp
1.例行检查保护机制2.我们用64位的IDA打开该文件shift+f12查看关键字符串,没有看到‘/bin/sh’可以拿到权限类的字符串3.我们进入main函数看看我们可以看出gets(text,name)这里造成溢出我们再去看看name,然后发现name是bss段上的全局变量又因为该题没有system("/bin/sh")的字样,所以我们可以向bss段写入shellcode拿到权限shellcode = asm(shellcraft.sh()...原创 2021-11-09 11:13:46 · 223 阅读 · 0 评论 -
buuctf|pwn-jarvisoj_level2_x64-wp
1.例行检查保护机制只开启了堆保护2.我们用64位的IDA查看该文件shift+f12查看关键字符串,我们看到关键字符串“/bin/sh”我们双击“/bin/sh”,bin/sh的地址为:0x0600A903.查看main函数里面的内容进入vulnerable_function()函数我们看到buf只有0x80个字节,但是下面read()里面读取了0x200个,这里造成了溢出4.system("/bin/sh")才能拿到权限我们找...原创 2021-11-08 21:43:14 · 439 阅读 · 0 评论 -
buuctf|pwn-[HarekazeCTF2019]baby_rop-wp
1.例行检查我们看到该文件开启了堆保护2.我们用64位的IDA打开该文件按shift+f12查看关键字符串,我们看到“/bin/sh”这个关键字符串我们双击查看它的位置:0x06010483.我们去main函数里面看看我们发现v4 = var_10,他的地址为:0x10我们要拿到权限:system("/bin/sh")所以我们要找到system地址:0x0400490我们双击_system,system在plt表里面4...原创 2021-11-08 20:49:56 · 217 阅读 · 0 评论 -
buuctf|pwn-not_the_same_3dsctf_2016-wp
1.检查保护机制我们看到开了堆的保护2.用32为的IDA打开该文件shift+f12查看关键字符串,我们看到有‘flag.txt’关键字符我们就查找出后门函数的地址:0x080489A0我们看到读取flag.txt,注意fgets函数,就是在f14g里面读取45个字符,我们猜测这就是flag3.我们查看main函数里面有什么我们看到gets(&v4)有个溢出,我们看到v4地址是0x2D4.rop ...原创 2021-11-08 20:12:06 · 299 阅读 · 0 评论 -
CTFSHOW|pwn-数学99-wp
1.检查保护机制2.我们用64位的IDA打开该文件查找关键字符串看到有“cat flag”3.我们先预览一遍程序main函数我们看到要if语句里面的三个函数条件为真第一个函数第二个函数第三个函数在第三个函数里面条件为真就可以拿到flag(handler)4.第一个函数:sub_9C0()条件:因为输入变量s是有符号数的int型:0~2147483647 -2147483648~-1所以8 -(-...原创 2021-11-08 16:44:39 · 684 阅读 · 1 评论 -
PWN|栈溢出总结笔记
1.32位判断libc版本32位: b'a' * offset + p32(xx@plt) + p32(ret_addr(main_addr或者_start_addr)) + p32(xx@got)getshell: b'a' * offset +p32(system_addr) + b'a'*4 + p32(str_bin_sh)2.64位判断libc版本64位: b'a' * offset + p64(pop_rdi_ad...原创 2021-11-04 17:02:37 · 274 阅读 · 0 评论 -
整数漏洞学习笔记
1.漏洞简介整数就是没有小数的数字在计算机中,有符号数用二进制表示。负数表示就是将二进制最高位来表示数字的符号,最高位为1表示负数,最高位为0就表示正数。无符号数就是没有负数当我们尝试将一个无符号数变量输入65536时,就会溢出,返回值为0输入65537时,返回值为1当有符号数溢出时,会从最小的值开始,-xxxxxxxx然后依次+1整数类型表数据类型 大小(字节) 无符号数范围 有符号数范围 short int 2...原创 2021-11-03 21:09:13 · 785 阅读 · 0 评论 -
CTF|MISC 工具下载
1.下载exiftoolsudo apt install libimage-exiftool-perl原创 2021-11-01 15:58:21 · 431 阅读 · 0 评论 -
PWN|工具下载
1.Linux/Ubuntu下载pwntoolssudo pip install -U pwntools2.Linux/Ubuntu下载checksec git clone https://github.com/slimm609/checksec.sh3.Linux/Ubuntu下载gdb调试工具sudo apt-get updatesudo apt-get install gdb4.Linux/Ubuntu下载LibcSearcher...原创 2021-11-01 10:49:05 · 1108 阅读 · 0 评论 -
攻防世界|MISC-stegano
1.下载文件,用浏览器打开发现是一串英文2.我们把所有文本复制到文本文件里面,发现里面的AB很可疑我们猜测AB是二进制文件或者摩斯密码然后发现AB之间有些空格,就先试试模式密码我们把A:换成.(点)B:换成-(横线)可以使用Word文档替换-.-. --- -. --. .-. .- - ..- .-.. .- - .. --- -. ... --..-- ..-. .-.. .- --. ---... .---- -. ...- .---- ..... .原创 2021-10-09 16:44:02 · 72 阅读 · 0 评论 -
攻防世界|MISC-give_you_flag
1.下载文件,打开发现里面是一张动态图,最后会闪现一个不完整二维码2.双击打开图片,上面可以暂停3.我们在不完整二维码哪里暂停就可以得到不完整二维码图片,可以点左右移动帧4.我用的是PPT补全二维码,当然你们也可以用PS补全5....原创 2021-10-09 16:36:26 · 142 阅读 · 0 评论 -
攻防世界|MISC-如来十三掌
1.下载文件,打开是word文档,里面有一串字符我们用与佛伦禅解密(字符串前面加上佛曰:)网址:与佛论禅 (keyfc.net)MzkuM3gvMUAwnzuvn3cgozMlMTuvqzAenJchMUAeqzWenzEmLJW92.与佛论禅后要用rot13解密网址:ROT13解码计算器 - 计算专家 (jisuan.mobi)ZmxhZ3tiZHNjamhia3ptbmZyZGhidmNraWpuZHNrdmJramRzYWJ93.然后用ba...原创 2021-10-09 15:58:13 · 185 阅读 · 0 评论 -
XCTF|PWN-string-WP
1、下载文件并开启靶机2、在Linux中查看文件信息checksec 5我们看到:1.该文件是64位的文件2.启用了nx3、用命令运行程序seccomp-tools dump ./5我们会发现一个图案继续往下翻we are wizard, we will give you hand, you can not defeat dragon by yourself ...we will tell you two secret ......原创 2021-08-07 11:06:48 · 233 阅读 · 0 评论 -
XCTF-PWN-level2-WP
1、下载文件并开启靶机2、在Linux中查看该文件信息checksec 43、该文件是32位文件,用32位IDA打开该文件3.1、shift+f12查看关键字符串我们看到"/bin/sh"的地址为:x0804A0243.2、双击关键字符串,按Ctrl+x,再f5进入main函数的反汇编代码3.3、我们看到关键函数vulnerable_function(),双击进入3.4、我们看到buf溢出,双击buf查看字符串buf:0x88...原创 2021-08-02 11:22:40 · 204 阅读 · 0 评论 -
XCTF|PWN-hello_pwn-WP
1、下载文件并开启靶机2、用Linux查看该文件信息checksec 23、该文件是64位的文件,用64位IDA打开该文件3.1、shift+f12查看该文件关键字符串3.2、双击关键字符串,再按ctrl+x查看"cat flag.txt"的地址"cat flag.txt"地址:0x4006863.3、按f5进入main函数两个函数相差4个字节4、编译代码#encodi...原创 2021-07-30 11:39:46 · 318 阅读 · 0 评论 -
XCTF|PWN-get_shell-WP
1、下载文件并开启靶机2、在Linux中查看该文件信息checksec 13、该文件是64位的文件,我们用64位IDA打开该文件3.1、shift+f12查看该文件的关键字符串3.2、双击关键字符串,再按Ctrl+X,查看关键字符串"/bin/sh"的地址"/bin/sh"地址:0x4005743.3、3.43.53.63.7...原创 2021-07-30 10:43:48 · 197 阅读 · 0 评论 -
BUUCTF|PWN-level0-WP
1、下载文件并开启靶机2、用Linux查看该文件信息checksec level0只开启了NX3、我们看到该文件是64位的文件,我们用64位的IDA打开该文件3.1、shift+f12查看给文件的关键字符串3.2、双击/bin/sh,ctrl+x查看他的地址callsystem=0x4005963.3、 F5进入main函数,看到一个关键函数vulnerable_function()...原创 2021-07-29 11:31:06 · 270 阅读 · 0 评论 -
BUUCTF|PWN-pwn1_sctf_2016-WP
1、下载文件并开启靶机2、在Linux中查看该文件信息checksec pwn1_sctf_20163、该文件是62为文件,我们用32为IDA打开该文件3.1、shift+f12查看关键字符串3.2、双击关键字符串,ctrl+x查看cat flag.txt地址3.3、F5进入main函数反编译代码区3.4、看到有个vuln()关键函数,双击进去3.5、我们看见关键字变量名溢出,双击查看s地址:r地址:...原创 2021-07-29 11:05:37 · 716 阅读 · 0 评论 -
BUUCTF|PWN-ciscn_2019_n_1-WP
1、下载文件并开启靶机2、在Linux系统中查看该文件信息checksec ciscn_2019_n_13、文件查出来是64位文件,我们用64位IDA打开该文件3.1、shift+f12查看关键字符串3.2、双击关键字符串cat/flag,再按F5进入反编译代码区3.3、cat/flag地址为v1地址:r返回地址:4、编译代码#encoding=utf-8from pwn imp...原创 2021-07-28 16:17:28 · 271 阅读 · 0 评论 -
BUUCTF|PWN-warmup_csaw_2016-WP
1、下载文件并开启靶机2、在Linux中查看该文件信息checksec warmup_csaw_20163、我们看到该文件是64位的文件,我们用64位IDA打开该文件3.1、shift+f12查看该文件的关键字符串3.2、双击关键字符串,f5进入反编译代码区查看main函数3.3、我们看到s和v5字符数组,查看他们所占字节v5有溢出:r(返回地址):关键字符串函数地址4、编译代码#i...原创 2021-07-28 15:08:51 · 454 阅读 · 0 评论 -
BUUCTF|PWN-rip-WP
1、下载文件并开启靶机2、查看文件信息checksec pwn13、我们看到该文件是64位的文件,用64位IDA打开该文件3.1、shift+f12查看关键字符串3.2、双击关键字符串,进入反编译代码区3.3、利用Linux gdb查找fun()的位置信息gdb pwn1$:b fun双击s查看范围地址3.4。我们要覆盖s的内容到r返回地址,所以0xf+0x84、编译代码from pwn impo...原创 2021-07-28 14:27:28 · 801 阅读 · 0 评论 -
BUUCTF|PEN-test_your_nc
1、下载文件并开启靶机2、在Linux查看文件信息checksec test3、文件是64位的我们用64位IDA打开该文件3.1、按shift+F12查看关键代码3.2、双击关键代码“/bin/sh”,进入反编译代码区4、编写代码,从把机端口进入from pwn import * #导入pwntools中pwn包的所有内容p = remote("node4.buuoj.cn",27965) #...原创 2021-07-28 10:55:49 · 230 阅读 · 0 评论