0x01 修改int的值
process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=" alt="调试漏洞代码第二章" />
用字符串末尾的null字符,覆盖判断逻辑返回的int的值。
最后成功如图:
0x02 覆盖返回地址的值
这里是跳转到了错误的0x61616161
直接跳转到输出密码正确的地址。
0x03 执行我们的代码
修改返回地址的值,跳转到我们定义的代码处(此处代码可执行)
原理如图,前提条件是修改了buffer的大小 用于存放我们的代码
原文地址:http://blog.51cto.com/10509896/2176887
时间: 2024-10-17 04:50:56