2025ciscn-AWDP复现

D0wnBe@t Lv4

前言

优质wp:https://mp.weixin.qq.com/s?__biz=Mzg4MTg1MDY4MQ==&mid=2247487308&idx=1&sn=58ded47969223626e9937b5ccf93d3a8&chksm=ce15d641d16580d075ddb154c95b76654a4cfec8d1e829f62dc46e9858fdd20a6a85dde934fe&scene=126&sessionid=1742361514#rd

偶遇AWDP无法战胜😭😭

typo

FIX

漏洞点出现在edit部分的 snprintf函数,赛场上对该函数不是很理解,所以g了,现在来看看怎么改:

image-20250319125817240

这里其实是有个堆溢出的,最后那个8看似好像是规定往 *(&heaplist+v1)里面写入8字节数据,但其实不然,看看标准格式

1
int snprintf(char *str, size_t size, const char *format, ...);

对比可以发现,题目中并没有规定size,也就是说我们可以随意溢出,所以fix的话将snprintf改为printf或者直接nop掉都可以,因为题目本身也没有输出这个操作。

  • 改snprintf为printf

image-20250319133024645

  • 直接nop掉:

image-20250319133100706

抽象的check,不改这地方一直都是exp利用成功,给我整不会了

prompt

FIX

image-20250319142819762

image-20250319142842219

  • 漏洞点其实就在这里,我们往buf里面写入四字节的话,后续会在v5那里进行溢出。
  • 改进如下:

image-20250319143918887

image-20250319143946356

  • 标题: 2025ciscn-AWDP复现
  • 作者: D0wnBe@t
  • 创建于 : 2025-03-18 16:06:52
  • 更新于 : 2025-03-19 14:42:10
  • 链接: http://downbeat.top/2025/03/18/2025ciscn-AWDP复现/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
目录
2025ciscn-AWDP复现