注入一个本身制做的shellcode并运行这段shellcodelinux
汇编中的指令:
call:使程序跳转到某个地址并开始执行,被调用的过程位于当前代码段内。它的机器指令是一个16位的有符号数,也就是说被调用的过程的首地址必须位于距离当前call指令-32768~+32767字节的地方。在指令执行的时候,处理器先把IP的值压栈,而后根据操做数调整IP的值(IP=IP+操做数+3),这直接致使处理器的执行流转移到目标位置处。
ret:近返回指令。执行的时候,处理器从栈中弹出一个字到IP中。
NOP:NOP指令即“空指令”。执行到NOP指令时,CPU什么也不作,仅仅当作一个指令执行过去并继续执行NOP后面的一条指令。(机器码:90)
JNE:条件转移指令,若是不相等则跳转。(机器码:75)
JE:条件转移指令,若是相等则跳转。(机器码:74)
JMP:无条件转移指令。段内直接短转Jmp
CMP:比较指令,功能至关于减法指令,只是对操做数之间运算比较,不保存结果。cmp指令执行后,将对标志寄存器产生影响。其余相关指令经过识别这些被影响的标志寄存器位来得知比较结果。
gdb中的指令:
attach:直接在gdb中把一个正在运行的进程链接到gdb中,以便于进行动态调试;
disassemble:命令用于反汇编,它可被用来查看当前执行时的源代码的机器码,其实际上只是把目前内存中的指令dump出来。
linux中的指令:
ps:用来查看进程
grep:是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
prel: Perl是一门解释型语言,不须要预编译,能够在命令行上直接使用正则表达式
用objdump -d命令反汇编。
用vim修改文件将d7改成c3后运行
shell
此次实验整体来讲比较简单,跟着老师的实验指导和组长的实验博客很顺利地就作完了。这是第一次接触攻防一类的实验,成功作完以后仍是颇有成就感的。vim
漏洞有什么危害
这些安全缺陷会被技术高低不等的入侵者所利用,从而达到控制目标主机或形成一些更具破坏性的目的。sass