注:学习笔记来自安全牛课堂。感谢倪群主,感谢苑老师!
执行了上面的脚本后,去debug里面看一下(上一节结束的时候,做了断点)
当程序只进行一步的时候:
下面的思路就是利用kali里面的工具,生成shellcode,因为编写的话,需要不少知识。。。
通过上面可以看到,-l列出了下面那么多的shellcode,不同的shellcode适应不同的系统
补充一句,即使是windows系统,不同的脚本功能也是不同的。有的是直接生成shell,有的是开放端口,等等。
这里还不够,后面还要注意脚本中不能出现坏字符
因此,还需要kali里面的字符编码工具:
上面画横线的那里,中间加了 "\x90" * 8 ,这是汇编语言中的nop,表示没有要执行的,继续吧。连续8个nop,是因为CPU的工作机制是在跳转的时候,可能会擦除前几个数据。因此这8个nop就是防止这个意外的。
上面代码的结尾部分