
이 익스플로잇은 다양한 텍스트 인코딩 및 Python 3과 함께 작동하도록 편집되었으며 CMSMS 버전 2.2.9 이하와 호환됩니다.
이 저장소는 CMS Made Simple(CMSMS) 소프트웨어에서 발견된 취약점 CVE-2019-9053에 대한 익스플로잇을 포함합니다. 이 익스플로잇은 Python 3에서 작동하도록 수정되었으며 CMSMS 버전 2.2.9 이하와 호환됩니다.
CVE-2019-9053은 시간 기반 블라인드 SQLi 취약점으로, 공격자가 애플리케이션 응답의 지연을 모니터링하여 데이터베이스 정보를 열거할 수 있게 합니다. 이 취약점은 CMSMS 2.2.9 이하 버전에 존재합니다.
제공된 Python 스크립트는 데이터베이스에서 데이터를 추출한 다음, 제공된 단어 목록과 다양한 인코딩을 사용하여 추출된 해시를 선택적으로 크랙하도록 설계되었습니다. 이 스크립트는 다양한 인코딩을 사용하여 지정된 단어 목록 파일을 열고, 인코딩된 비밀번호의 계산된 MD5 해시가 대상 비밀번호와 일치하는지 확인합니다.
코드는 Python 3에서 작동하도록 편집되었으며 다양한 인코딩 유형을 지원합니다. hashlib 라이브러리를 사용하여 MD5 해시를 계산하고 인코딩 및 디코딩 작업을 처리하는 데 필요한 문자열 조작을 수행합니다.
Usage: exploit.py [options]
Options:
-h, --help show this help message and exit
-u URL, --url=URL Base target uri (ex. http://10.10.10.100/cms)
-w WORDLIST, --wordlist=WORDLIST
Wordlist for crack admin password
-c, --crack Crack password with wordlist
-t TIME, --time=TIME Time for SQLIi time based attack, default = 1
(second). The slower your internet is the larger this
number should be.
-s salt, --salt=salt Salt for password hash
-p pass, --pass=pass Password hash
스크립트를 실행하면 비밀번호 해시의 솔트, 사용자 이름, 이메일, 비밀번호 해시를 한 글자씩 가져옵니다.
추출된 문자열 중 하나에서 이동했는데 문자열이 짧아 보이는 경우(약 3~4자 정도), 프로그램을 종료하고 --time 옵션을 활용하여 값을 증가시켜야 합니다.
비밀번호만 크랙하려면 솔트와 해시를 스크립트 인수로 전달할 수 있습니다. 그러면 스크립트는 제공된 단어 목록을 사용하여 비밀번호를 크랙하려고 시도합니다. ex: python3 csm_made_simple_injection.py -u http://10.10.10.100/cms -t 4 -c -w /usr/share/wordlists/mylist.txt -p xxxxxxxxxxxxxxxxx -s yyyyyyyyyyyyyyy
이 익스플로잇 스크립트는 교육 목적으로만 제공됩니다. 저자는 취약점의 무단 사용이나 악용을 조장하거나 지지하지 않습니다. 이 스크립트의 불법적 또는 비윤리적인 사용에 대한 책임은 전적으로 사용자에게 있습니다.