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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

记一次院赛CTF的Pwn和Misc题(入门)

發布時間:2024/9/30 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 记一次院赛CTF的Pwn和Misc题(入门) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • Pwn
    • easy pwn
    • 莽撞人
    • 反向讀取
  • Misc
    • drop the beats
    • 拼東東
    • 消失的50px

Pwn

見到別的比賽的pwn題才幡然醒悟,已經沒有比這些更簡單的pwn題了。

easy pwn

首先,拿到Pwn題的第一步,看是64位還是32位

第二步 gdb看開了哪些保護

【1】Canary:Canary保護機制的原理,是在一個函數入口處從fs段內獲取一個隨機值,一般存到EBP - 0x4(32位)或RBP - 0x8(64位)的位置。如果攻擊者利用棧溢出修改到了這個值,導致該值與存入的值不一致,__stack_chk_fail函數將拋出異常并退出程序。Canary最高字節一般是\x00,防止由于其他漏洞產生的Canary泄露 【2】FORTIFY:FORTIFY_SOURCE機制對格式化字符串有兩個限制(1)包含%n的格式化字符串不能位于程序內存中的可寫地址。(2)當使用位置參數時,必須使用范圍內的所有參數。所以如果要使用%7$x,你必須同時使用1,2,3,4,5和6。 【3】NX:NX enabled如果這個保護開啟就是意味著棧中數據沒有執行權限,以前的經常用的call esp或者jmp esp的方法就不能使用,但是可以利用rop這種方法繞過 【4】PIE:PIE enabled如果程序開啟這個地址隨機化選項就意味著程序每次運行的時候地址都會變化,而如果沒有開PIE的話那么No PIE (0x400000),括號內的數據就是程序的基地址 【5】RELRO:RELRO會有Partial RELRO和FULL RELRO,如果開啟FULL RELRO,意味著我們無法修改got表

第三步,拖入ida反匯編

可以看到本題只需要讓v5等于2019便可以執行sh了。
然后看一下他的棧結構,這邊var_4便是v5(雙擊v5就可以跳到var_4)

因為read(0,&buf,0xC)可以知道,我們可以輸入11位字符,所以我們只需要讓最后四位是2019,就可以覆蓋到var_4,也就是可以令v5等于2019.
于是寫出exp

這邊payload的\n加不加其實是一樣的,加了\n表示就是結束輸入。
exp里面主要是
導入pwn
連接到服務器
構建payload
發送payload
最后這個這題是一樣的,因為不需要獲取的shell,就是不需要獲取控制權,他的意思就是把控制權交給用戶。本題是當你執行到就直接給你flag的,不會給你控制權

莽撞人




首先一波常規操作,找到漏洞點,發現buf是0x10位的空間,但是可以輸入0x50的內容

可以發現,這邊有一個函數是getShell,只要執行到這個函數,就執行systm(“/bin/sh”)

棧結構為junk+ebp+ret_address+參數1+參數2+……+參數n
于是我們只需要將read到buf中的數據,覆蓋到ret_address為getShell()地址。

反向讀取



這邊比較關鍵的是要發現漏洞點,因為要讓if(*((_BYTE )&v2+i)==((_BYTE *)&v8+s[i]))一直都是成立的。


可以發現,當char類型的大于127會變成負數,所以我們可以利用這一點讓他們相等。

通過分析,可以發現v2和v8相差0x40也就是64,所以*(&v2)=*(&v8-64)
構建exp如下,這邊192就是-64

然后,就得到了flag

Misc

drop the beats

這是一道音頻的雜項題,因為比較簡單,所以這種簡單的音頻題我知道的一般就是一個mp3隱寫,要么就是拖入Audacity頻譜分析了

拼東東

一個損壞的zip,第一步就是想到拖到winhex里面看下文件頭,發現沒有zip的文件頭50 4B 03 04,加上后就可以正常打開了。



消失的50px

這題很明顯就是一個改圖片高度的題了,拖入winhex找需要修改的高度。

可以看到圖片高度是350像素,轉換成16進制就是015E

然后找到015E,把他改大一些就好了。

總結

以上是生活随笔為你收集整理的记一次院赛CTF的Pwn和Misc题(入门)的全部內容,希望文章能夠幫你解決所遇到的問題。

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