问题补充:也不一定要能运行的例子,如果能实现这中效果,说明一下在页面中式如何获取参数问题补充:myali88 写道看你的说明,好像就要从cgi中获取一些数据,如果是这样,只有打开页面时,发起一个url请求,cgi响应返回你要的参数就可以了。问题是,这里的cgi程序你是否能改,或者它做好了相应的接口,能返回你需要的数据,因为cgi接收到的参数,一般都是自己内部使用的,cgi程序退出,参数自然就销毁了(不包括系统参数)接口写好了,cgi程序我不能修改,直接在页面上就能获取吗?
CGI代表Common Gateway Interface(通用网关界面),它使在网络服务器下运行外部分应用程序(或网关)成为可能。
CGI-BIN 目录是存放CGI脚本的地方。这些脚本使WWW服务器和浏览器能运行外部程序,而无需启动另一个原因程序。
它是运行在Web服务器上的一个程序,并由来自于浏览者的输人触发。CGI是在HTTP服务器下运行外部程序(或网关)的一个接口,它能让网络用户访问远程系统上的使用类型程序,就好像他们在实际使用那些远程计算机一样。
CGI应用程序的工作原理是这样的:
1.浏览器通过HTML表单或超链接请求指上一个CGI应用程序的URL。
2.服务器收发到请求。
3.服务器执行指定所CGI应用程序。
4.CGI应用程序执行所需要的 *** 作,通常是基于浏览者输人的内容。
5.CGI应用程序把结果格式化为网络服务器和浏览器能够理解的文档(通常是HTML网页)。
6.网络服务器把结果返回到浏览器中。
不完善的CGI应用程序可能成为别人非法进人服务器系统的通道,有可能导致重要的资料被删除或外泄。
Shellshock的原理是利用了Bash在导入环境变量函数时候的漏洞,启动Bash的时候,它不但会导入这个函数,而且也会把函数定义后面的命令执行。
在有些CGI脚本的设计中,数据是通过环境变量来传递的,这样就给了数据提供者利用Shellshock漏洞的机会。
简单来说就是由于服务器的cgi脚本调用了bash命令,由于bash版本过低,攻击者把有害数据写入环境变量,传到服务器端,触发服务器运行Bash脚本,完成攻击。
htb的shocker靶机举例:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)