首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言CGI编程二 - 编写cmd后门

C语言CGI编程二 - 编写cmd后门 接着C语言CGI编程入门(一),这次来介绍一个C语言库,叫“CGIC”,这是他们的官网:http://www.boutell.com/cgic/    ...第一个参数是索引的名字,第二个参数是保存获取到的值的字符串,第三个值是字符串大小。比如我们获取到的是cmd=ipconfig,则通过索引“cmd”就能获取到值ipconfig。    ...原则上来说,获取到了值,也就是命令的内容“ipconfig”,我们就可以执行了。但是我用的system函数不能返回执行结果。...所以我换个方式,将执行的结果放入一个临时文件,然后从文件中获取到执行结果并删除文件。这也就是我后面的代码做的工作。...都是CPP的内容我就不细讲了,文件操作也可以使用C语言中的fopen、fgets,效果相同。

2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    windows下CC++执行cmd命令并实时获取输出

    为了能在软件界面上有更好的交互输出,都需要将命令执行的过程拿到,进行处理,然后在界面上进行显示,让用户知道程序正在正常运行,下面就介绍几种输出的获取方式。...使用_popen执行进程 通过_popen打开进程进行执行,通过fgets获取进程的输出。...int ret = 0; ret = run_cmd(cmd); printf("命令执行结果:%d\r\n",ret); getchar(); return 0; } 3....CreateProcess重定向输出到管道 为了能实时获取CreateProcess打开进程运行时实时输出的结果,可以将CreateProcess的输出重定向到管道文件,CreateProcess将数据写到管道的写端...; run_s =ReadFile(hReadPipe, pBuffer,200,&RSize,NULL); pBuffer[RSize] = '\0'; printf("返回结果

    6.1K30

    C语言 | 统计选票结果的程序

    例38:有三个候选人,每个选民只能投给一个人,要求用C语言编一个统计选票的程序,先后输入备选人的的名字,最后输出各人的得票结果。...leader[j].name)==0)//比较两个字符串,如果名字相等       {        leader[j].number++;//票数加1       }    }     printf("结果是...      printf("%s票数:%d\n",leader[i].name,leader[i].number);//输出名字和票数    }     return 0;//主函数返回值为0   } 编译运行结果如下...: 请输入人名 li 请输入人名 zhang 请输入人名 sun 请输入人名 sun 请输入人名 li 请输入人名 li 请输入人名 li 请输入人名 sun 请输入人名 sun 结果是: li票数:4...C语言 | 统计选票结果的程序 更多案例可以go公众号:C语言入门到精通

    2K2318

    C语言练习(三)字符串左旋结果

    pc = (char*)&a; pc实际指向的是整形变量a的空间,即pc的内容为0x64,即44, *pc=0,即将44位置中内容改为0,修改完成之后,a中内容为:0x11223300 因此:选择C...访问的是数组中第三个元素(数组下标从0开始),故将9改为9+3=12 printf("%d,%d\n",*pulPtr, *(pulPtr + 3)); // 打印第一个和第三个元素,因此:打印6和12 选C...当assert宏的表达式结果为false时,程序会终止执行。assert宏可以用于任何类型的表达式,不仅仅限于整数类型。...而str3和str4是两个指针,编译器在处理的时候,会将相同的常量字符串做成同一个地址,所以,str3和str4指向的是同一个常量字符串,所以str3 == str4,故选C。...(i = 0; i < n; i++) { arr[j] = str[i]; j++; } } for (i = 0; i < sz; i++) { printf("%c"

    11410

    c语言基础学习02_windows系统下的cmd命令

    36. iexpress:木马捆绑工具,系统自带 37. joy.cpl:游戏控制器 38. logoff:注销命令 39. lusrmgr.msc:本地用户和组 40. lpksetup:语言包安装.../删除向导,安装向导会提示下载语言包 41. lusrmgr.msc:本机用户和组 42. main.cpl:鼠标属性 43. mmsys.cpl:声音 45. mem.exe:显示内存使用情况...Msconfig.exe---系统配置实用程序   29. rsop.msc-------组策略结果集   30. mem.exe--------显示内存使用情况   31. regedit.exe--...窗口标题名字   color 颜色值 设置cmd控制台前景和背景颜色;0=黑、1=蓝、2=绿、3=浅绿、4=红、5=紫、6=黄、7=白、8=灰、9=淡蓝、A=淡绿、B=淡浅绿、C=淡红、D=淡紫、E=淡黄...、F=亮白   prompt 名称 更改cmd.exe的显示的命令提示符(把C:、D:统一改为:EntSky )   ver 在DOS窗口下显示版本信息   winver 弹出一个窗口显示版本信息

    1.4K21

    获取任务的执行结果

    也说了,线程池的实现天生也实现了异步任务,允许直接向线程池中进行任务的提交与结果获取。 但是,我们始终没有去深入的了解下,异步任务框架对于任务执行的进度是如何监控的,任务执行的结果该如何获取。...outcome 是任务执行结束的返回值,runner 是正在执行当前任务的线程,waiters 是一个简单的单链表,维护的是所有在任务执行结束之前尝试调用 get 方法获取执行结果的线程集合。...而我们可以直接调用 get 方法去获取任务执行的结果,不过 get 方法是阻塞式的,一旦任务还未执行结束,当前线程将丢失 CPU 进而被阻塞到 Future 的内部队列上。...到这里,相信你也一定看出来了,FutureTask 实现的 Future 的弊端在 get 方法,这个方法非异步,如果没有成功获取到任务的执行结果就将直接阻塞当前线程,以等待任务的执行完成。...那么我们能不能阻塞,直接获取已经执行结束的任务 Future,而未完成的任务不允许获取它的 Future?

    1.4K10

    C语言】关于整型提升、截断、打印数据的结果

    一:先介绍一下相关概念 1.整型提升: (1)应用场景 数字有整数和小数,对应c语言中的整型和浮点型,由此可见当整数发生运算时,那其实就意味着整形运算,我们还知道如果小于整形的类型发生整型运算时,那就要进行整型提升...方便表示)二进制表示形式为 00000000000000000000000001100100截断后存到a中的是01100100 a+b就是两个整数运算,那就是整形运算,要发生整型提升后,再进行相加,相加后的结果为...00000000000000000000000100101100 存储到c时,由于c是char型,又要发生截断,截断后存储到c中的结果为00101100 最后打印a+b和c,由于%d是以有符号的十进制的形式打印整数...但是c是8比特位,所以要进行整型提升,c的高位是0,那他就是有符号数里面的正数,按照相应的提升规则,高位全补符号位0 最后,提升完后,要进行打印,由于我们看到的是原码内容,储存在机器里的是补码内容,所以我们还要进行转码操作...,又因为a+b和c都是正数,所以原码反码补码均相同,直接用计算器转换到十进制数字即可得出答案 三:最后的最后 小编只是个刚上大一的学生,写篇博客真的很不容易,呜呜呜 大家多多支持哈,小编在此感激不尽,嘻嘻嘻

    2.2K30
    领券