使用shell脚本编写cgi
2015-02-11 14:47
981 查看
非常简单
示例1:recv脚本接收http post数据
使用curl命令进行测试:
curl --data "name=abc" http://10.236.5.128/cgi-bin/recv
抓包得到http消息如下:
示例2:接收http post上传文件
#!/bin/sh
while read buf
do
echo $buf >> data
done
echo
使用curl命令进行测试:
curl -F password=@/etc/passwd http://10.236.5.128/cgi-bin/backup
抓包得到http消息如下:
示例1:recv脚本接收http post数据
#!/bin/sh read buf echo "Content-type:text/html;charset=UTF-8" echo echo $buf
使用curl命令进行测试:
curl --data "name=abc" http://10.236.5.128/cgi-bin/recv
抓包得到http消息如下:
POST /cgi-bin/recv HTTP/1.1 User-Agent: curl/7.19.7 (i386-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2 Host: 10.236.5.128 Accept: */* Content-Length: 8 Content-Type: application/x-www-form-urlencoded name=abc HTTP/1.1 200 OK Date: Wed, 11 Feb 2015 06:43:29 GMT Server: Apache/2.2.15 (CentOS) Content-Length: 9 Connection: close Content-Type: text/html;charset=UTF-8 name=abc
示例2:接收http post上传文件
#!/bin/sh
while read buf
do
echo $buf >> data
done
echo
使用curl命令进行测试:
curl -F password=@/etc/passwd http://10.236.5.128/cgi-bin/backup
抓包得到http消息如下:
POST /cgi-bin/backup HTTP/1.1 User-Agent: curl/7.19.7 (i386-redhat-linux-gnu) libcurl/7.19.7 NSS/3.16.2.3 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2 Host: 10.236.5.128 Accept: */* Content-Length: 2136 Expect: 100-continue Content-Type: multipart/form-data; boundary=----------------------------ebae583d2488 HTTP/1.1 100 Continue ------------------------------ebae583d2488 Content-Disposition: form-data; name="password"; filename="passwd" Content-Type: application/octet-stream root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin gopher:x:13:30:gopher:/var/gopher:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin rtkit:x:499:497:RealtimeKit:/proc:/sbin/nologin ntp:x:38:38::/etc/ntp:/sbin/nologin avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin pulse:x:498:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin abrt:x:173:173::/etc/abrt:/sbin/nologin saslauth:x:497:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin haldaemon:x:68:68:HAL daemon:/:/sbin/nologin apache:x:48:48:Apache:/var/www:/sbin/nologin gdm:x:42:42::/var/lib/gdm:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin tony:x:500:500:LinuxServer:/home/tony:/bin/bash ldap:x:55:55:LDAP User:/var/lib/ldap:/sbin/nologin named:x:25:25:Named:/var/named:/sbin/nologin jenkins:x:496:493:Jenkins Continuous Build server:/var/lib/jenkins:/bin/false rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash ------------------------------ebae583d2488-- HTTP/1.1 200 OK Date: Thu, 12 Feb 2015 02:11:28 GMT Server: Apache/2.2.15 (CentOS) Content-Length: 0 Connection: close Content-Type: text/plain; charset=UTF-8
相关文章推荐
- linux 使用文本编辑器编写shell脚本执行权限不够
- 关于nagios系统下使用shell脚本自定义监控插件的编写
- 编写shell脚本监控系统负载、CPU和内存使用情况
- Python使用CGIHTTPServer调用shell作为cgi脚本
- 使用Shell编写定时向指定API获取数据的脚本
- 使用shell编写一个脚本,磁盘超过80%邮件报警
- linux 下使用expect编写shell 脚本交互访问远程服务器
- 关于nagios系统下使用shell脚本自定义监控插件的编写
- shell脚本的使用---if变量编写lamp管理脚本
- Linux环境下使用shell编写CGI(httpd)
- 使用shell编写一个检测系统参数的脚本
- 用Python编写shell脚本时经常使用的函数的介绍
- 关于nagios系统下使用shell脚本自定义监控插件的编写
- cygwin安装教程以及使用notepad++编写shell脚本,并通过cygwin运行
- 使用if语句编写Shell脚本
- shell学习二十一--使用if编写mysql启动脚本
- boa 用shell脚本编写cgi 访问时终端出现cgi_header: unable to find LFLF
- 使用HTML+shell编写九九乘法口诀脚本
- shell脚本编写使用
- Shell脚本的编写,sed的使用以及一些正则表达式