|
[公告]看雪会员等级体系、权益及会员升级策略介绍(2018版)
祝看雪社区越来越好! |
|
|
|
[原创]2014 hack.lu oreo
感谢分享! |
|
[原创][新手向] 一步一步学pwntools
感谢分享! |
|
|
|
|
|
[原创]2018强网杯silent2
分析的不错,要满足两个条件就可以了 1、实现unlink的条件 Chunk4: '\x00'*8+p64(0x101)+p64(0x6020d8-0x18)+p64(0x6020d8-0x10)+'A'*(256-32) Chunk5: p64(0x100)+p64(0x110)+'B'*255 对于chunk4 0x101 表示当前堆块大小(包括头)是0x100, 其前一个堆块为inuse状态 对于chunk5 0x100 表示前一个堆块大小(包括头)是0x100, 0x110表示当前堆块大小为0x110,其前一个堆块为free状态 这样在释放Chunk5 的时候就会把Chunk4 从链表删除,达到unlink目的。 2、绕过指针检测 对Chunk4 unlink时要检测 fd->bk == bk->fd 让Chunk4的fd=0x6020d8-0x18 bk=0x6020d8-0x10 那么其fd->bk= fd+0x18=0x6020d8 bk->fd=bk+0x10= 0x6020d8 这样满足条件了 然后unlink时 FD = P->fd; BK = P->bk; FD->bk = BK; BK->fd = FD; 最后一次指针改写BK->fd = FD 使得 bk->fd 也就是0x6020d8 指向的内容为 fd (0x6020d8-0x18 )即0x6020c0 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值