怎么在CGI程序中执行外部程序

怎么在CGI程序中执行外部程序,第1张

问题补充:myali88 写道cgi程序服务器本地运行的进程,你只能通过web服务器间接调用,得到返回结果。当然,如果你想得到cgi的参数,可以把它作为结果的一部分返回到页面。如何间接调用?能给个简单的例子吗? 问题补充:能给个小例子吗,我要做的是打开一个页面,页面初始化一些参数,这些参数是从cgi程序中来的,这能实现吗?上传参数给cgi例子我哦有。

问题补充:也不一定要能运行的例子,如果能实现这中效果,说明一下在页面中式如何获取参数问题补充: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靶机举例:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11359771.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存