xman wp
weapon_store三个功能:view、buy、checkout view,有点想吐槽,你一个卖武器的,价目表居然跟实际价格不一样。。下面的buy功能可以看到实际价格计算方法是100 * (v3 + 1) - 29,也就是说武器1卖171,武器2卖271。371。471。。。。 buy,先计算买的武器单价*数量是不是超过了手里的money,没超过就放到购物车里,但可以通过整数溢出绕过这个限制;另外可以看到malloc的时候还和0x1ff与了一下,可能有堆溢出。 checkout,当手里的money少于买下所有武器要花的钱时,就给你一次堆溢出的机会,这时可以把其他武器的name改换为flag输出。 输入选项的地方看起来可以泄露点什么出来 但这个地方存放的是两个栈里的值,一个text段的值,也得不到..
Read moreByteCtf note_five 两种解法
阅读大佬的wp后复现了一下本题的多种解法 题目分析 本题是一道菜单题,只有new、edit和delete功能,没有show功能。不存在UAF。 edit所用的输入函数存在Off-By-One漏洞 chunk 的大小限制在 0x8f ~ 0x400 解题思路1(exp见文末)利用Off-By-One漏洞构造Overlapping,构造块的bk 为global_max_fast -0x10, unsorted bin attack 修改global_max_fast;利用 stdout-0x51处的 0xff 作为 chunk 的 size,fast bin attack 到_IO_2_1_stdout_附近分配chunk,修改_IO_write_base中的值,使它指向想要泄露的地址(stdout+0..
Read more