软件漏洞-ShellCode调试
如何调试shellcode
可以把shellcode放在一个数组里
然后直接通过内联汇编,把指令跳转到shellcode的地址就好了
可以用Jmp
char shellcode[] = "\x60\x83";
int main()
{
__asm
{
lea eax,shellcode
jmp eax
}
}
可以用ret
char shellcode[] = "\x60\x83";
int main()
{
__asm
{
lea eax,shellcode
push eax
retn
}
}
总之跳转到shellcode的地址就好了
如何找软件漏洞
给一个软件一顿输入后,缓冲区溢出,程序崩溃后,进入Windows日志管理器查看对应的错误
比如:
这个偏移量就是代表的是溢出弹出的位置,这里的话可以用一些特别的值来处理,比如从A0 A9 然后B0B9这样子来找就可以判断哪里是跳转的溢出地址来处理