題目描述:菜雞面對著printf發愁,他不知道printf除了輸出還有什麼作用。
題目分析:照著題目描述來看,應該是格式化字串的漏洞。老規矩,照著步驟走:
由上面的我們用32位的idapro開啟。
可以看到結構也十分簡單,pwnme等於8的時候,就可以得到flag
這裡也一樣要搞清楚在資料棧中偏移了多少。
我們看一下輸入的aaaa在資料棧中是什麼位置
發現在第十位
那麼下面我們就可以構建我們的exp了
但是這裡我一直有個疑問,這個任意寫到底是怎樣在操作的,對我來說,我還沒搞清楚。
小a在對某家醫藥工廠進行掃瞄的時候,發現了乙個大型實時資料庫系統。小a意識到實時資料庫系統會採集並儲存與工業流程相關的上千節點的資料,只要登入進去,就能拿到有價值的資料。小a在嘗試登陸實時資料庫系統的過程中,一直找不到修改登入系統key的方法,雖然她現在收集到了能夠登陸進系統的key的值,但是只能想別的辦法來登陸。
本來在上面的題目正愁著還沒理解格式化輸出漏洞,這裡就來了乙個題幫助我好好理解。
32位程式,但是這次出現了一種新的保護方式,rwx。
程式的內容和結構一目了然,改變key的值,即可得到flag,改變值用格式化字串任意寫的漏洞。
在寫exp之前必須先知道在棧中哪個引數。這裡我們用
然後我們發現在第12個引數的位置
這個題幫我多次試驗,終於知道了在格式化字串中填入什麼才能得到規定的寫入值了,那就是%(對應值-4)c%n$n。
exp如下
8月9日pwn學習
要看乙個乙個程式依賴的so檔案可以用ldd命令,ldd命令後面必須跟上這個程式的絕對命令,一般先用which找到這個程式的絕對路徑 然後再用ldd命令檢視。ldd結果分為三列 第一列 程式依賴庫的名字 第二列 系統提供庫的名字 而在pwn中可以多次用ldd命令檢視,來判斷該程式是否提供了aslr保護...
8月7日pwn學習
題目描述 pwn!segment fault!菜雞陷入了沉思 解題思路 老規矩按步驟辦事 沒有stack保護,也沒有記憶體位址隨機機制 main偽 發現如果dword 60106c這個值為1853186401這個值,便可以得到flag 記憶體位址棧 發現unk 601068這個值可以溢位到dowor...
隨筆 8月14日
懶惰的情緒總是很難牴觸,即使很多時候我們已經很努力克制自己,但是大腦中去總有一種負面的情緒。這最終不是我們能控制的了的,最好的方法是把它當做自己的孩子或學生來培養,不要從心理層面上過於自責,要善待自己,調節好心態,才能從積極的一面理性的思考自己應該去怎麼做,才能戰勝自己。今天早上起床學英語有點懶散,...