1. 程式人生 > 實用技巧 >buuctf刷題日記

buuctf刷題日記

babyrop

ida開啟
main函式
在這裡插入圖片描述sub_804871F():

在這裡插入圖片描述sub_80487D0():
在這裡插入圖片描述
可以看到在sub_80487D0()這個函式中,當a1也就是main函式中的引數v2不等於127的時候read函式就可以無限的讀入,棧溢位漏洞,所以要改變v2的值。而v2的值是由函式sub_804871F()來賦值,這個函式中可以利用strlen()的特性,它讀到’\x00’時就會認為字元長度已讀完,還要利用這點來繞過後面的if中條件。引數s的值為0未賦初值。並且這裡可以看到v2的地址和buf的地址差0x7,則可以控制v2的值
在這裡插入圖片描述
exp
在這裡插入圖片描述