pwn0
pwn1
需使用chmod +x给文件添加可执行权限
system()函数里参数为"cat /ctfshow_flag",直接nc运行即可得到flag
pwn2
system()参数为"/bin/sh"
/bin/sh 是一个常见的 Unix/Linux 操作系统中的 shell 解释器路径。
当你在命令行中输入/bin/sh时,系统会启动默认的shell解释器,并等待你输入命令或执行脚本
pwn3
查看 system_func()
pwn4
使用strcpy将字符串"CTFshowPWN"复制到s1中
使用__isoc99_scanf从用户输入中读取一个字符串,并将其存储在s2中
如果s1和s2的内容相同,则调用execve_func函数
调用execve("/bin/sh",argv,0LL)函数,该函数会调用/bin/sh解释器
由于使用的是execve()函数,该函数在执行成功后不会返回,而是直接在新的程序中运行(进程的替换)
当execve("/bin/sh",argv,0LL)执行成功后,控制权将转移到/bin/sh环境,原来的程序不会继续执行,而是交给新的shell程序处理用户的命令输入
即输入CTFshowPWN后,虽然没有任何提示,但却已获得它的shell