c2框架编写

0x00前言由于昨天520,今天又是521,我被朋友圈和qq空间给刷屏了,都在秀对象。一气之下决定把我上次写的nc拿出来使用类进行重构,多实例化几个对象,这下子我也有对象了。0x01一些小插曲

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

0x00  前言

由于昨天520,今天又是521,我被朋友圈和qq空间给刷屏了,都在秀对象。一气之下决定把我上次写的nc拿出来使用类进行重构,多实例化几个对象,这下子我也有对象了。

c2框架编写

 

 0x01 一些小插曲

在重构的时候,base64加密通讯加密的一直出问题。一直在修bug,改到了4点多也就是现在4.18 的发现 在返回命令的时候忘记base64编码了,在server解码的时候才会报错,我被自己被笨哭了,同时也加了个异常捕获和修复了输入不正确命令直接报错退出的bug。这次使用了subprocess模块的poen函数完美解决了,在中途遇到非常恶心的一件事,就是windows下面返回的命令是中文必须使用bgk编码,而linux不是中文使用gbk编码会报错,所以分出了2个版本来。修改bug中,由于自己写的代码也不喜欢写注释,改代码的时候,改着改着脑子一团糟。

 0x02   功能演示

kali1

python3 nc.py -l 4444 -e base64

 

kali2

python3 nc.py -i 192.168.3.51 -p 4444 -e base64

c2框架编写

 

  0x03   待完善功能

在这还有个文件传输功能和udp  http的通讯功能没写,单个功能的demo都已经写好了 就差把它封装起来就完成了。当然还有个多会话,这个的话其实实现起来也简单,可以直接使用多线程让子线程去进行accept()的阻塞来接收连接的机器,新的socket 给个标识符。输入该标识符就调用对应的socket 进行通讯就完成了。

这里把github地址贴出来:

 

https://github.com/nice0e3/python_c2

0x04  一些小感慨

在这段时候一直在写代码,还是有收获的,很多以前的想法都在逐渐完善。代码功能也是有所提升。

愿代码没有bug。

c2框架编写

记录美好时刻。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119964.html原文链接:https://javaforall.net

(0)
上一篇 2021年12月11日 上午10:00
下一篇 2021年12月11日 上午10:00


相关推荐

  • 2013年蓝桥杯真题[通俗易懂]

      1.某人年龄的立方是4位数,年龄的四次方是6位数,这10位数包含0到9,每个恰好出现一次,求他年龄多大publicclassOne{publicstaticvoidmain(String[]args){for(inti=10;i<100;i++){inti1=i*i*i;int…

    2022年4月12日
    46
  • Caffeine教程

    Caffeine教程如果是想直接看官网教程的请移步 https github com ben manes 而如果还想结合实际应用场景 以及各种坑的 请看本文 最近来了一个实习生小张 看了我在公司项目中使用的缓存框架 Caffeine 三天两头跑来找我取经 说是要把 Caffeine 吃透 为此无奈的也只能一个个细心解答了 后来这件事情被总监直到了 说是后面还有新人 让我将相关问题和细节汇总成一份教程 权当共享好了 该份教程也算是全网第一份 结合了目前我司游戏中业务场景的应用和思考 以及踩过的坑 实习生小张

    2025年12月1日
    4
  • HTTP状态码405

    HTTP状态码405项目中的需求是用 ajax 去响应了静态资源 导致报状态码 405 进行了问题排查 1 首先原因为 Apache IIS Nginx 等绝大多数 web 服务器 都不允许静态文件响应 POST 请求所以将 post 请求改为 get 请求即可 2 改成 get 请求之后发现依然还是报了 405 状态码 报错信息显示如下 这个问题是跨域造成的 解决方法有三种 a 重定向 405 错误码到 200 在 nginxserver 里面添加以下内容 root 为站点的根目录 location json

    2026年3月18日
    2
  • Vuex入门(2)—— state,mapState,…mapState对象展开符详解

    Vuex入门(2)—— state,mapState,…mapState对象展开符详解上一章大概说明了 vuex 的设计初衷和基本用法 从这一章开始详解一下 vuex 的几个关键配置 1 statestate 是什么 定义 state vuex data vue vuex 的 state 和 vue 的 data 有很多相似之处 都是用于存储一些数据 或者说状态值 这些值都将被挂载数据和 dom 的双向绑定事件 也就是当你改变值的时候可以触发 dom 的更新 虽然

    2026年3月18日
    2
  • Thread.setDaemon设置守护线程

    Thread.setDaemon设置守护线程Java 中线程分为用户线程 userthread 和守护线程 daemonthread 它们通过 Thread 的 daemon 属性标识 true 表示守护线程 false 表示用户线程 一个 Thread 初始默认为用户线程 daemon 默认为 false 创建 Thread 的时候默认从当前线程 继承 daemon 属性 见 Thread init 方法 Threadparent currentThrea this daemon parent isDaemon 当虚拟机中剩余运行

    2026年3月17日
    1
  • 文博会开幕 腾讯“好用的AI”深度融入内容创作全产业链

    文博会开幕 腾讯“好用的AI”深度融入内容创作全产业链

    2026年3月13日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号