Apache Mod CGI
Apache Mod CGI知识储备:参考文章:CTFHUB-Apache Mod CGI(PHP学习) 原理简述 早期的Web服务器,只能响应浏览器发来的HTTP静态资源的请求,并将存储在服务器中的静态资源返回给浏览器。随着Web技术的发展,逐渐出现了动态技术,但是Web服务器并不能够直接运行动态脚本,为了解决Web服务器与外部应用程序(CGI程序)之间数据互通,于是出现了CGI(Common Gateway Interface)通用网关接口。简单理解,可以认为CGI是Web服务器和运行其上的应用程序进行“交流”的一种约定。 当遇到动态脚本请求时,Web服务器主进程就会Fork创建出一个新的进程来启动CGI程序,运行外部C程序或Perl、PHP脚本等,也就是将动态脚本交给CGI程序来处理。这样,每次用户..
Read more函数劫持实验
函数劫持实验知识Linux 编译动态链接库(.so)参考文章: GCC 生成动态链接库 .so 文件 (-shared 和 -fPIC 选项) gcc -shared -fpic -fPIC 选项作用于编译阶段,告诉编译器产生与位置无关代码 (Position-Independent Code),这样一来,产生的代码中就没有绝对地址了,全部使用相对地址,所以代码可以被加载器加载到内存的任意位置,都可以正确的执行。这正是共享库所要求的,共享库被加载时,在内存的位置不是固定的。 如果想创建一个动态链接库,可以使用 GCC 的 -shared 选项。输入文件可以是源文件、汇编文件或者目标文件。 一般的编译链接命令行为: gcc -fPIC -shared func.c -o libfunc.so
Read morePHP_FPM
##PHP_FPM 关于FPM参考文章:Nginx+Php-fpm 运行原理详解
Read more环境变量
环境变量参考资料:(侵删) 警惕UNIX下的LD_PRELOAD环境变量 深入分析 LD_PRELOAD ##先了解一下LD_PRELOAD LD_PRELOAD 是 Linux/Unix 系统的一个环境变量,它影响程序的运行时的链接(Runtime linker),==它允许在程序运行前定义优先加载的动态链接库。==这个功能主要就是用来有选择性的载入不同动态链接库中的相同函数。通过这个环境变量,==我们可以在主程序和其动态链接库的中间加载别的动态链接库,甚至覆盖正常的函数库。== 一般来说,程序的链接分为静态链接和动态链接,静态链接就是把所有所引用到的函数或变量全部地编译到可执行文件中。动态链接则不会把函数编译到可执..
Read more协议连接
###FTP协议: 下载: apt install ftp -y 使用:ftp -h: ftp -hUsage: { ftp | pftp }[-46pinegvtd] [ hostname]-4: use IPv4 addresses only-6: use IPv6,nothing else-p: enable passive mode ( default for pftp) -i: turn off prompting during mget-n: inhibit auto-login-e: disable readline support,if present-g: disable filename globbing-v: verbose mode-t: enable packet ..
Read moreshellshock
shellshock什么是shellshock攻击: 背景:环境变量和bash 触发: 产生新的bash 通过环境变量传递 环境变量以() {}这样的形式 env x='() { :;}; echo vulnerable' bash -c "echo this is a test" vulnerable this is a test env可以创建临时环境变量. bash -c可以运行一个shell命令. 当shell返回“vulnerable”时说明函数申明后的echo函数被执行(漏洞是因为Bash初始化时调用了builtins/evalstring.c里的parse_and_execute//类似于eval..
Read more