成都黑客网:非栈上格式化字符串缝隙使用技巧

访客4年前黑客工具461

成都黑客网:非栈上格式化字符串缝隙使用技巧

关于Linux栈上格式化字符串缝隙的运用网上已经有许多讲解了,但对错栈上的格式化字符串缝隙很少有人介绍。这儿首要以上周末SUCTF竞赛中playfmt标题为例,具体介绍一下bss段上或堆上的格式化字符串运用技巧。
 
0x01基础知识点
格式化字符串缝隙的具体原理就不再具体叙说,这儿首要简略介绍一下格式化参数方位的核算和缝隙运用时常用的格式字符。
参数方位核算
linux下32位程序是栈传参,从左到右参数次序为$esp+4,$esp+8,...;因此$esp+x的方位应该是格式化第x/4个参数。
linux下64位程序是寄存器加栈传参,从左到右参数次序为$rdi,$rsi,$rdx,$rcx,$r8,$r9,$rsp+8,...;因此$rsp+x的方位应该是格式化第x/8+6个参数。
常用的格式化字符
用于地址走漏的格式化字符有:%x、%s、%p等;
用于地址写的格式化字符:%hhn(写入一字节),%hn(写入两字节),%n(32位写四字节,64位写8字节);
%$type:直接效果第number个方位的参数,如:%7$x读第7个方位参数值,%7$n对第7个参数方位进行写。
%c:输出number个字符,合作%n进行恣意地址写,例如"%{}c%{}$hhn".format(address,offset)便是向offset0参数指向的地址更低位写成address。
 
0x02非栈上格式化字符串缝隙运用
​ 一般来说,栈上的格式化字符串缝隙运用过程是先走漏地址,包含ELF程序地址和libc地址;然后将需求改写的GOT表地址直接传到栈上,一同运用%c%n的 *** 改写入system或one_gadget地址,最终便是绑架流程。可是关于BSS段或是堆上格式化字符串,无法直接将想要改写的地址指针放置在栈上,也就没 *** 完成恣意地址写。下面以SUCTF中playfmt为例,介绍一下常用的非栈上格式化字符串缝隙的运用 *** 。
例题
标题阐明
程序缝隙点比较显着,直接写了一个循环的printf格式化缝隙,而输入的数据是存储在buf指针上,buf则是坐落bss段中地址为0x0804B040。
int do_fmt(void)
{
  int result; // eax
  while ( 1 )
  {
    read(0, buf, 0xC8u);
    result = strncmp(buf, "quit", 4u);
    if ( !result )
      break;
    printf(buf);
  }
  return result;
}
.bss:0804B040                 public buf
.bss:0804B040 ; char buf[200]
.bss:0804B040 buf             db 0C8h dup(?)    ; DATA XREF: do_fmt(void)+E↑o
查看一下程序的维护,可以发现敞开了RELRO,也便是无法改写GOT表,所以思路便是直接修正栈上的回来地址,return的时分绑架流程。

走漏地址
首要需求得到当时栈的地址和libc的基地址,这些地址可以很轻松的在栈上找到,其间esp+0x18寄存了栈地址,esp+0x20寄存了libc的地址,可以得到分别是第6个参数和第8个参数,直接传入%6$p%8$p即可得到栈地址和libc地址。

恣意地址写
这儿首要需求处理的便是怎么即将改写的地址放在栈上。完成恣意地址写需求依靠栈上存在一个链式结构,如0xffb5c308->0xffb5c328->0xffb5c358,这三个地址都在栈

相关文章

免费黑客联盟联系方式(专业盗qq黑客联系方式)

免费黑客联盟联系方式(专业盗qq黑客联系方式)

先前报导称,FBI在非洲某公司的协助下取得成功开启iPhone 5c。但是,外国媒体《华盛顿邮报》此前引证知情人人员的信息称,FBI实际上并不是有求于非洲企业,只是掏钱从灰遮阳帽黑客(专业找寻手机软件...

如何开直播间(快速搭建自己直播间的方法)

初学者网络主播在播出前除开把自己准备好,也有最重要的一步便是布局直播间自然环境,终究它是游人进入直播间的第一视觉效果体会,将立即危害客户体验。常常在后台管理接到粉絲有关“直播房间布局”的提出问题,...

万圣节是什么意思呀-万圣节是什么节日啊

每到10月15日大家便会注意到大街小巷会涌起很多 古怪的服饰,若是细心去把握便会察觉是赶到一个欧美国家新奇贴心的传统民族节日也就是万圣夜,很多人很有可能还不知道万圣夜意味着啥意思呀,因此这一传统民族节...

黑客帝国4画面是紫色的(黑客帝国4画面是紫色的怎么回事)

黑客帝国4画面是紫色的(黑客帝国4画面是紫色的怎么回事)

黑客帝国的剧情介绍 1、影片讲述了一名年轻的网橡岩络黑客尼奥发现看似正常的现实世界实际上是由一个名为“矩阵”的计算机人工智能系统控制的,尼奥在一名神秘女郎崔妮蒂的引导下见到了黑客组织的首领墨菲斯,三人...

用户体验洞察:产品体验越好,满意度就越高?

用户体验洞察:产品体验越好,满意度就越高?

真正抉择满足度的,并不是产物自己的体验,而是“预期”和“感知体验”之间的差值。 “如何晋升用户留存率?”——相信这是困扰无数营销人和创业者的问题。 然而,这种问题又存在太多变量,有无数因素在影响着它,...

登机牌和机票的区别是什么?(为什么买了机票还要有航空公司的登机

  为何拿着飞机票也要有国际航空公司的登机牌才可以办理托运,有什么不同吗?   伴随着时期的发展趋势,大家的社会发展总体的是社会经济发展,大家针对远行也是变成了一件十分一切正常的事儿了,有的人很有可能...