
注:学习笔记来自安全牛课堂。感谢倪群主,感谢苑老师!

执行了上面的脚本后,去debug里面看一下(上一节结束的时候,做了断点)

当程序只进行一步的时候:


下面的思路就是利用kali里面的工具,生成shellcode,因为编写的话,需要不少知识。。。

通过上面可以看到,-l列出了下面那么多的shellcode,不同的shellcode适应不同的系统

补充一句,即使是windows系统,不同的脚本功能也是不同的。有的是直接生成shell,有的是开放端口,等等。

这里还不够,后面还要注意脚本中不能出现坏字符


因此,还需要kali里面的字符编码工具:




上面画横线的那里,中间加了 "\x90" * 8 ,这是汇编语言中的nop,表示没有要执行的,继续吧。连续8个nop,是因为CPU的工作机制是在跳转的时候,可能会擦除前几个数据。因此这8个nop就是防止这个意外的。

上面代码的结尾部分