天天看點

第一次awd感想

下面來說一下本次打awd遇到的坑以及收獲

開頭來先吐槽一番

作為一個逆向菜雞,第一次打awd攻防競賽也是懵的一批,本次awd是本校與省内幾個高校共同辦的一個小型的内部線下競賽。畢竟這次沒有高年級的大佬參加,是以雖然打的懵,但是還不至于被打的人都傻了。

,當開始上場我們組pwn的靶機就down機了,不知道是别人打的還是運維的鍋。至少後面寫出了payload,對别的隊瘋狂輸出了幾輪,無奈自動送出的腳本沒打通,隻能手動送出flag,最後交的手都抽筋了也不過打了近1000分最左右,真是太菜了。

第一次awd感想

因為時間短,所有這次二進制的靶機中隻放了一道pwn題,對于菜鳥來說這道題還是很值得鑽研的,很容易就能發現main函數中存在格式化字元串漏洞跟棧溢出漏洞的。然後就虛拟機裡check一下,發現保護全開還是64位檔案,心想,我去,這不是把路都封死了,當時心就涼了半截。然後開始摸索思路,最後想到了格式化字元串洩露出需要的函數位址然後棧溢出填充棧拿到shell。

首先就是要繞過canary,具體的有三種方法,這裡就不一一說了,大家自行上網查找,拿到canary函數的位址後就是要拿ip的位址,之後就是拿到libc_start_main函數的位址來通過洩露libc庫拿到後門函數位址和字元串bin_sh位址,之後就寫payload打通路徑。

開技術讨論會的時候出題的大佬說這題還能用double_free來寫,當時是沒有想到,看來還是要多看書多學習多做題啊。跟大佬的差距還是很大的。

收獲

打awd之前也是上網查了很多關于賽前準備啊什麼的,不過都是關于web的,對于二進制實在沒有查到有什麼幫助什麼的。到了打的時候發現跟大佬們講說的還是不太一樣啊。因為這次打的是二進制的靶機,所有這次就隻說說二進制的awd。

幾乎所有的awd都是要越權的,因為這次比賽時間太短,而且我們太菜,是以主辦方這次的靶機都直接給了root權限,說是管理者權限玩法多。

1.連接配接winscp把檔案都備份到本地,不然被别人拿到你自己的靶機權限給你重要檔案删了就直接down機了。(這次比賽down機一次扣50分,太慘了)(關于連接配接ip的軟體還是很多的,可以上網自行查詢)

2.xshell連接配接遠端機,對于pwn機來說基本就是在xshell上面操作了,下載下傳、删除、上傳檔案等等的操作。

3.找到pwn題的具體位置。

第一次awd感想
第一次awd感想

基本操作就是這樣,不過winscp好像可以直接拉進去然後儲存,大家可以探索探索。

4.拿到pwn題首先就是要找漏洞,找都漏洞立馬給漏洞填了,就算自己解不出來也不能讓别人打你,能補一個算一個。具體漏洞的補法也要看題而已,想棧溢出格式化字元串網上有很多。

5.寫腳本。流量監控的腳本和自動擷取并送出flag的腳本最好都要有,如果自己實在解不出就可以通過流量監控看别人怎麼打你,可以看看别人的思路自己再寫寫exp。自動送出flag的腳本一定要準備好,不然到時候拿flag隻能手動送出,我是當時沒有跑成功,一個個手動送出的,人都傻了。自動擷取flag的腳本web跟二進制的有很大的不同,如果有大佬會二進制的腳本可以分享給小弟我,十分感謝。

6.打比賽千萬不要慌,更别盯着大螢幕看誰攻擊了誰拿了多少分。注意要跟隊友配合,awd不是一個人的戰鬥,不要防守,還要學會攻擊,要盡可能拿到多的分,最後幾輪實在打不到别人而且别人還是能打到你,down機也是個不錯的選擇,畢竟扣50比扣300強。

pwn的靶機要比web的靶機容易很多,隻有那麼幾個檔案存在漏洞,隻要把檔案漏洞都給閉了,基本上别人是達不到你的。