題目自?。?/h3>
鏈接:https://pan.baidu.com/s/1HrMqh-lX-mkfueVeLzoEJg?
提取碼:oyel
介紹下這可惡的沙箱機(jī)制
這是一道非常讓人蛋疼的題目,之前我只聽說過沙箱,但是并沒有自己實(shí)際接觸過沙箱這個(gè)保護(hù)機(jī)制,大概作用就是開了沙箱之后,會(huì)禁用掉某些函數(shù),一旦我們使用了這個(gè)函數(shù),比如我們在棧溢出構(gòu)造ROP,或者寫入shellcode執(zhí)行時(shí),只要含有這些函數(shù),這個(gè)程序就會(huì)崩掉,這題目就開了沙箱。
之前我有個(gè)疑問,這里明明沒有exevce函數(shù)的引用,為什么我用pwntools工具寫的?shellcode?=?asm(shellcraft.sh())或者網(wǎng)上抄來的execve(binsh)都不能打通呢??
這非常讓人惱火,難道seccomp-tools錯(cuò)了???
后來問了學(xué)長才知道,原來是因?yàn)閟eccomp-tools這玩意它會(huì)顯出所有可以用的,但是貌似不能用的不會(huì)完全顯現(xiàn),所以我們這里可以看到,這里只允許了orw的使用,其實(shí)很明顯了,就是要寫orw的shellcode去把flag拿出來。
反編譯看看
ok,我們開始,首先放到IDA看看咋回事
?沙箱之前我們已經(jīng)分析過了,這里就不細(xì)說了,就是主函數(shù)的思路也非常簡單,就是拿一塊內(nèi)存buf,然后讓你輸入shellcode,然后判斷長度,如果小于等于5字節(jié),就執(zhí)行shellcode,否則報(bào)錯(cuò)gameover。
顯然5字節(jié)的shellcode玩?zhèn)€毛,幾個(gè)基本的匯編指令就已經(jīng)不止5字節(jié)了,很明顯我們要繞過這個(gè)strlen檢測,然后我在網(wǎng)上沖浪的時(shí)候發(fā)現(xiàn)了一個(gè)好文,這里貼一下
我想過繞過strlen函數(shù),但是我都是在shellcode前面直接加\x00\x00的,發(fā)現(xiàn)這是行不通的,就很淦也讓我產(chǎn)生疑問,這究竟是為什么呢??
我們來調(diào)試下
這是填入\x00\x00的情況?
很明顯它c(diǎn)all了個(gè)寂寞,里面沒指令,所以報(bào)錯(cuò)了
但是如果我們換成了?asm(
'xor eax,0x4141'
)?
?的話,我們可以看看啥情況。
?可以看到,這個(gè)414135即為指令
xor eax,0x4141,這就做到了兩點(diǎn),一是繞過了strlen檢測,二是call rdx的時(shí)候是有指令的,不會(huì)導(dǎo)致程序崩潰.
那由于沙箱把我們的execve函數(shù)禁用了,所以我們用pwntools生成的?asm(shellcraft.sh())或者網(wǎng)上抄來的execve(binsh)都不能打通,因?yàn)樗鼈儽举|(zhì)上都是調(diào)用exevce函數(shù)。
所以我們只能用orw shellcode去拿flag了,這種shellcode雖然不能拿到shell,但是可以打開flag文件,然后輸出里面的內(nèi)容,具體咋寫這種shellcode呢?我們還是可以利用pwntools自帶的功能,這里推薦一篇博客(3條消息) orw_shellcode_模板_orw的shellcode_huzai9527的博客-CSDN博客文章來源:http://www.zghlxwxcb.cn/news/detail-445191.html
#pwntools
shellcode = ''
shellcode += shellcraft.open('./flag')
shellcode += shellcraft.read(3,'rsp',0x100)
shellcode += shellcraft.write(1,'rsp',0x100)
payload1 = asm(shellcode)
?但是注意注意!??!這里不是'esp',而是‘rsp’,而且read的系統(tǒng)調(diào)用號是3,
修改一下就可以拿到shell啦文章來源地址http://www.zghlxwxcb.cn/news/detail-445191.html
到了這里,關(guān)于第七屆福州大學(xué)信息安全競賽——shellcode1 繞過strlen檢查,繞過沙箱檢查,執(zhí)行orw shellcode拿到flag的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!