avatar

CTF-scanf相关的漏洞详解

CTF-scanf相关的漏洞详解

前言:比赛中往往会遇到很多零散的漏洞,对解题有十分大的作用,所以写一个文章来巩固一下


1、scanf("%u",&num);

如果题目存在数组越界,但是开了canary保护,可以通过输入带符号整数来绕过canary

如果输入带符号整数,可以不写入数据,scanf直接ret

例如:-456465、+12313

2、scanf("%d",&num);

如果题目存在数组越界,但是开了canary保护,可以通过输入负号来绕过canary

如果输入负号,可以不写入数据,scanf直接ret

例如:-

3、堆题构造libc地址

Ubuntu16.04在已经存在free的fastbin的时候输入0x401个数字,就可以在fastbin中写入libc,如果存在uaf漏洞,就可以实现libc leak

文章作者: 咲夜南梦
文章链接: http://yoursite.com/2019/11/24/CTF-scanf%E7%9B%B8%E5%85%B3%E7%9A%84%E6%BC%8F%E6%B4%9E%E8%AF%A6%E8%A7%A3/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 咲夜南梦's 博客
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论