PWN-ret2shellcode原理

14 篇文章 2 订阅
订阅专栏

我们之前做过很简单的pwn题目

buuctf-rip这种 是在程序中存在shellcode 直接返回地址改为这个shellcode的地址即可

但是如果程序里面没有呢

这种类型就是ret2shellcode

常见的shellcode

shellcode = "\x31\xf6\x48\xbb\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x56\x53\x54\x5f\x6a\x3b\x58\x31\xd2\x0f\x05"

这个shellcode只有23字节 是可以在能输入字节有限的地方进行使用

如果输入的字节可以存储特别大的话 我们可以使用pwntools的函数生成

from pwn import *
context.arch='amd64'   #64位需要使用这个  32不用加
shellcode=asm(shellcraft.sh())

这是我理解的retshellcode的栈中的图

1.写入垃圾字符覆盖输入函数的变量和ebp

 2.写入shellcode的地址 把返回地址覆盖掉 实现返回到shellcode的地址中

 3.写入shellcode

 这篇只是最简单的自我认识原理

例题

CTFHUB-PWN-ret2shellcode_双层小牛堡的博客-CSDN博客

pwn小白入门04---ret2shellcode
weixin_45943522的博客
02-21 1976
原理 ret2shellcode,当程序当中没有system函数时,我们需要自己往栈上写入一段shellcode,然后控制eip使其指向shellcode的地址。 shellcode 指的是用于完成某个功能的汇编代码,常见的功能主要是获取目标系统的 shell。 在栈溢出的基础上,要想执行 shellcode,需要对应的程序在运行时,shellcode 所在的区域具有可执行权限。即必须关闭堆栈不可执行功能。 例题(来自ctfwiki): 首先checksec: 发现程序没有开启任何保护,并且存在可读可写
pwn ret2shellcode
young‘s blog
02-08 1692
写在前面,记录一些小知识和一些文章 对于checksec后几个参数的具体研究: checksec及其包含的保护机制 (原博客图已经挂了,只能用简书的了) pwntools介绍(刚开始看不懂英文文档可以看这个): pwntools pwntools使用简介 文件执行时权限不够使用命令为: chmod +x start.sh 当堆栈开启了保护的时候,我们不能够直接将shellcode覆盖到堆栈中执行,...
(shellcode注入攻击)ret2shellcode-栈上的ret2shellcode
最新发布
2401_83500274的博客
08-14 314
用64ida打开发现如下情况,他输出了v4的地址,然后shift+F12没有发现什么后面函数和bin/sh字样,所以我们可以考虑用栈上的ret2shellcode来写。v4_addr = int(r.recvline()[33:-1],16)#这里接受的是printf里的,并且进行了切片操作,使得位v4地址并且转换为10进制。ret2shellcode的题,大致为bss段上的和栈上的shellcode。生成64位的shellcode,接收v4的地址,利用ljust覆盖填充,返回v4的地址。
简单的PWN学习-ret2shellcode
weixin_48421613的博客
07-05 900
最近在学习pwn,这是一道2016年的pwn题目,主要学习关于栈溢出以及劫持栈指针达到命令执行的效果,笔者水平较差,请轻喷
Rop-Ret2Shellcode-64位实例
fanghuapyk的博客
03-19 880
Rop-Ret2Shellcode-64位实例 前面写过了32位的shellcode,这次继续64位shellcode,当我们的64位程序中没有system函数,并且开启了NX保护时,这时我们需要用到64位的shellcode来执行execve(“/bin/sh”,null,null); 如何编写shellcode呢? ①想办法调用execve("/binsh" , null, null); ②借助栈来传入字符串/bin/sh ③系统调用execve rax = 0x3b(64bit) rdi = bin_
[PWN][进阶篇]ROP-Ret2Shellcode-64位实例
网络安全知识分享
03-24 4262
ROP-Ret2Shellcode-64位实例 /usr/include/x86_64-linux-gnu/asm/unisted_64.h 编写64位shellcode,思路和32位是一样的 (1)想办法调用execve("/bin/sh",null,null) (2)借助栈来传入字符串/bin/sh (3)系统调用execve rax = 0x3b(64bit) rdi = bin_sh_addr rsi = 0 rdx = 0 实例代码如下: setvbuf函数的作用是优化io流,在服务器上时,或
英招杯 pwn2(ret2shellcode
qq_53928256的博客
11-16 382
由于程序运行时,即输出了输入值s的存放首地址,我们输入的首地址与shellcode之间的距离是0x3c-0x28=0x14,故只需返回s的首地址加上0x14即可;我们分析main函数的时候可以看到栈中的s距离rbp还有一段距离,且程序的NX保护未开启,我们可以考虑写入shellcode在栈中执行。根据图中与rbp的偏移,我们相对比较容易的出var_30对应的变量为v5,var_8对应的变量为v10。在网上我们可以查到相对较短的syscall系统调用的shellcode为23字节,满足我们所需的要求。
跟着CTF-wiki学pwn——ret2shellcode
qq_42882717的博客
07-01 875
CTF-wiki的注解:ret2shellcode
[调试逆向] Linux内核PWN-ret2dir(附赠基础slub算法!)
ysxx188888的博客
03-13 386
利用的主要是这么个思想以及物理内存的情况,本题也是回忆起了很多内核PWN的基础知识点,算是慢慢抓起来了。
PWN ret2shellcode
prettyX的博客
11-22 1994
今天天气阴,来做一下ret2shellcode。 记录一下。 : ) 0X00 ret2shellcode原理 ret2shellcode,就是,return to shellcode,即让程序中某个函数执行结束后,返回到shellcode的地址去执行shellcodeshellcode指的是用于完成某个功能的汇编代码,常见的功能主要是获取目标系统的shell。 ret2shellcode...
pwn的最基本的ret2shellcode原理
admin的博客
10-03 974
题源:ctf-wiki的基础ROP的ret2shellcode 基本 ROP - CTF Wiki (ctf-wiki.org) ①:先checksec检查 可以看出基本上没什么保护开启,而且含有RWX段(这个段的意思就是可读可写可执行),很明显是一个shellcode的题目。 ②:先反编译看看 有gets函数,绝对考溢出。而且没有system函数和bin/sh,也没有后门函数可以直接使用。再结合他有RWX段就可以很明显的判断这是一个ret2shellcode的题目。 ...
pwn刷题num35----ret2shellcode
tbsqigongzi的博客
04-29 330
BUUCTF-PWN-ciscn_2019_n_5 首先查保护–>看链接类型–>赋予程序可执行权限–>试运行 64位程序,小端序 开启部分RELRO-----got表可写 未开启canary保护-----存在栈溢出 未开启NX保护-----堆栈可执行,可注入shellcode 未开启PIE-----程序地址为真实地址 动态链接 运行程序后,先是让我们输入一个name,之后让我们输入一些信息,什么也看不出来 ida一下 注意两个函数 read(0, name, 0x64uLL);
ret2shellcode
qq_45691294的博客
12-18 4826
shellcode的含义: 在栈溢出的攻击技术中通常是要控制函数的返回地址到自己想要的地方执行自己想要执行的代码。ret2shellcode代表返回到shellcode中即控制函数的返回地址到预先设定好的shellcode区域中去执行shellcode代码,这是非常危险的。 这里学习一下shellcode的利用方式,用ret2shellcode作为例题 先用checksec查看一下保护,可以看到,没有开启任何保护机制,且是一个32位的程序 使用IDA分析程序,只发现了主函数,并没有发现后门函数 get
Ret2shellcode利用
looiezheng的专栏
07-17 102
1.用ulimit -c命令确定是否允许产生core文件,若为0,则不生成core文件,需要通过ulimit -c unlimited将其设置为允许产生core文件,该设置仅在当前会话中生效,若要长期有效,需要保存在配置文件中:打开文件/etc/profile 然后在最末尾添加一行 ulimit -c unlimited ,然后保存退出,使用命令 source /etc/profile 使其生效。由于程序直接执行时的环境变量与调试时有差异,会导致栈空间地址变化,注入利用代码后会出现core。
栈溢出 shellcode ret2shellcode
wing_7的博客
10-06 541
shellcode_address = buf_address+0x20 # buf与rbp的距离0x10 + rbp的宽度0x8 + 返回地址的长度0x8。rbp用来存储当前函数状态的基地址,在函数运行时不变,用来索引确定函数的参数或局部变量的位置。将函数的返回地址覆写为我们构造的shell的地址,这样就可以达到获取shell的目的了。将函数的返回地址覆写为我们构造的shell的地址,这样就可以达到获取shell的目的了。栈空间增长方式是从高地址到地址的,也就是栈顶的地址值是小于栈底的地址值的。
CTFHUB-PWN-ret2shellcode
m0_64180167的博客
04-16 980
几个大方向的思路:没有PIE:ret2libcNX关闭:ret2shellcode其他思路:ret2csu、ret2text 【程序本身有先检查开了什么保护没有开保护 并且是64 的放入ida64查看字符串发现没有shell我们看看主函数发现有read函数 但是没有shell我们现在要确定一些信息。
字符串溢出(pwn溢出)--ret2shellcode
莫慌的博客
09-26 2160
pwn 入门
pwn ret2libc原理
08-22
pwn ret2libc是一种攻击技术,其原理是通过利用程序中的栈溢出漏洞,来控制程序的执行流程,以达到执行libc中的函数的目的。 在ret2libc攻击中,程序会调用libc库中的函数,例如system函数,来执行特定的操作。但是在程序中没有自带的/bin/sh字符串,所以需要通过其他方式获取执行shell命令的能力。 具体而言,攻击者会利用程序中的栈溢出漏洞,将栈上的返回地址修改为在libc库中的某个函数的地址,例如puts函数。然后通过执行puts函数,将栈上保存的函数地址打印出来。由于libc库中的函数地址相对位置是不变的,攻击者可以根据已知的函数地址和libc的版本来计算system函数的真实地址。然后再利用system函数执行特定的操作,比如执行shell命令。 总结来说,pwn ret2libc攻击的原理是通过栈溢出漏洞修改返回地址为libc库中的一个函数地址,然后根据已知的函数地址和libc的版本计算出system函数的真实地址,最终实现执行shell命令的目的。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [pwn学习——ret2libc2](https://blog.csdn.net/MrTreebook/article/details/121595367)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [pwn小白入门06--ret2libc](https://blog.csdn.net/weixin_45943522/article/details/120469196)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
写文章

热门文章

  • kali的学习 7869
  • [CISCN2019 华北赛区 Day1 Web5]CyberPunk 二次报错注入 7320
  • [NCTF2019]SQLi regexp 盲注 6739
  • 2023 10月8日 至 10 月16日学习总结 4961
  • 加密与解密 调试篇 动态调试技术 (四)-x64dbg/MDebug 3713

分类专栏

  • BUUctf 58篇
  • PWN的学习 14篇
  • WEB 26篇
  • PolarD&N 2篇
  • 免杀 1篇
  • 渗透 11篇
  • SQL注入 16篇
  • 逆向 9篇
  • 取证 12篇
  • NSSCTF 10篇
  • 周总结 2篇
  • CTFshow 6篇
  • 加密与解密 10篇
  • pwn的前置知识 11篇

最新评论

  • CTFshow web入门 爆破

    双层小牛堡: hackbar自动给你配置好了我们只需要传递值,它自己会加上

  • CTFshow web入门 爆破

    2401_84410993: w25传cookie值直接传数字吗?不需要传token=数字 吗?

  • 哥斯拉木马解析 + bypass 免杀代码分析+回调webshell

    a3418645549: 大佬当位列太庙

  • [NSSCTF 2022 Spring Recruit]easy C

    luv—: 这里的-1是为什么呀

  • NGINX开启PHP 配置

    普通网友: 大佬的文章写的太精辟了 让我深刻了解了这篇文章的精髓 谢谢大佬分享,希望继续创作优质博文。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

大家在看

  • Java 实现集成 Google 邮箱第三方登录实践
  • Springboot企业宣传展示开发4r2zr(程序+源码+数据库+调试部署+开发环境)
  • 自动化测试工具Ranorex Studio(十一)-开始录制之前 555
  • 今天就来聊聊这些十分重要的“必抓!”算法 108
  • Sqoop迁移工具大全. [概述,特点,安装与使用.最后详细阐述和DataX,Kettle等迁移工具的区别] 1362

最新文章

  • NGINX开启PHP 配置
  • 哥斯拉木马解析 + bypass 免杀代码分析+回调webshell
  • GO 的 socks5代理 编写
2024年1篇
2023年202篇
2022年7篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家永年玻璃钢花盆花器玻璃钢雕塑模型图片猪绵阳逼真玻璃钢座椅雕塑关于玻璃钢花盆的文章武士玻璃钢雕塑图片桂林玻璃钢雕塑作品西安商场美陈厂家滁州学校玻璃钢雕塑设计青海玻璃钢花盆陕西玻璃钢卡通雕塑房地产玻璃钢仿铜雕塑加工工业玻璃钢雕塑摆件订购江苏商业商场美陈海南十八罗汉玻璃钢雕塑定制上杭玻璃钢花盆花器商场美陈英文怎么翻译天津玻璃钢雕塑生产商小品玻璃钢动物雕塑销售厂家浦口商场活动美陈三门峡发光玻璃钢雕塑加工厂江苏主题商场美陈制造榆林商场美陈包装卡通人玻璃钢雕塑摆件开发感恩节商场美陈图片辽源玻璃钢雕塑施工重庆景区玻璃钢雕塑设计东莞门店玻璃钢雕塑丽水多彩玻璃钢雕塑哪家便宜玻璃钢雕塑喷什么漆公园水景玻璃钢景观雕塑公司香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化