어떻게 보호 측면 에서 Thinkphp 의 역사적 허점 을 봅 니까?
구멍 원리 회고
5.0.x 버 전 빈틈
원 리 는 Thinkphp 처리 요청 의 관건 적 인 종 류 는 Request(thinkphp/library/think/Request.php)입 니 다.이 종 류 는 HTTP 요청 에 대한 일부 설정 을 실현 할 수 있 습 니 다.
Thinkphp 는"폼 위장 변수"설정 을 지원 합 니 다.기본 값 은 입 니 다.method,따라서 method()에 서 는'폼 위장 변수'를 통 해 변 수 를 덮어 쓰 고 이러한 임 의 함수 에 대한 호출 을 실현 할 수 있 으 며$POST 는 함수 의 매개 변수 로 전 송 됩 니 다.Request 클래스 속성 값 에 대한 덮어 쓰기 요청 을 구성 할 수 있 습 니 다.예 를 들 어 덮어 쓰기 filter 속성(filter 속성 은 전역 필터 에 사용 할 함수 저장)을 사용 하여 코드 를 실행 할 수 있 습 니 다.
5.1.x-5.2.x 버 전 빈틈
5.0.x 버 전의 빈틈 과 비슷 합 니 다.빈틈 은 Request(thinkphp/library/think/Request.php)클래스 에 존재 합 니 다.
$method 변 수 는$this->method 로 POST 의"와 같 습 니 다.method'매개 변수 값 은$filter 를 덮어 쓰 는 속성 값(filter 속성 은 전역 필터 에 사용 할 함수 저장)을 이용 하여 코드 실행 을 실현 할 수 있 습 니 다.
이 구멍 이 터 지면 경고 단계 의 이상 이 발생 하여 프로그램 이 종 료 됩 니 다.이 때 이상 알림 을 무시 하고 Public/index.php 에 error 를 설정 해 야 합 니 다.reporting(0)이상 을 무시 하고 코드 를 계속 실행 합 니 다.다음 그림:
Thinkphp 구멍 전체 네트워크 검색
데이터 측면 에서 볼 때 Thinkphp 구멍 을 이용 하면 http 패 키 지 를 보 내 는 것 이다.우 리 는 한 해커 의 스캐너 가 먼저 간단 한 한 마디 를 지문 으로 쓴 것 을 발견 했다.그 다음 에 이 파일 을 방문 하여 지문 정 보 를 되 돌려 주 는 지 여 부 를 보 았 다.방문 성공 은 셸 이 이미 성공 했다 는 것 을 설명 한다.기본적으로 http 가방 두 개 를 보 내 고 스캐너 는 성공 적 으로 기 록 된 셸 의 사이트 ip 과 url 을 기록 한 다음 에 수 동 으로 식칼 로 연결 하여 후속 작업 을 하 는 것 이다.
IPS 장치 로그 와 인공 검증 을 통 해 공격 자의 공격 절 차 는 2 단계:1.전체 네트워크 스 캔 으로 exp 를 보 내 고 지문 에 따라 getshell 여 부 를 식별 합 니 다.2.식칼 을 연결 하여 원 격 제어 하기;
전체 네트워크 스 캔 으로 exp 보 내기
일반적으로 스 캔 로 그 는 B 단 이나 C 단 을 옮 겨 다 니 며 시간 도 밀집 되 어 있 습 니 다.기 록 된 스캐너 로그 세 션 은 다음 과 같 습 니 다.
3 가지 특징 을 가진다.1.목적 ip 은 같은 C 단 또는 B 단 이 고 2.포트 가 비교적 고정 되 며 3 스 캔 시간 이 매우 밀집 되 어 있다.
스캐너 가 보 낸 확인 셸 은 성공 적 인 메 시 지 를 기록 하고 스캐너 전용 지문 을 사용 하기 때문에 ips 는 이러한 검사 규칙 이 없습니다.
식칼 연결
공격 자 수 동 식칼 로 함락 된 역 을 연결 할 때 도 ips 에 의 해 감지 되 며,문맥 관련 을 통 해 thinkphp 구멍 을 공격 자의 돌파구 로 거 슬러 올라간다.그 당시 에 기 록 된 전형 적 인 사례 를 몇 개 골 라 라 라.
함락 된 정저 우 서버 1(122.114.24.216):
이 사 이 트 는 확실히 thinkpp 5 로 열 렸 으 며,당시 웹 셸 목 마 는 서버 에서 삭제 되 지 않 았 다.서버 를 통 해 해커 가 올 린 이 목 마 를 방문 할 수 있 으 며 지문 정 보 는 baidu 이 며 스캐너 는 이 지문 으로 getshell 의 성공 을 자동 으로 판단 하고 url 을 기록 할 수 있 습 니 다.
함락 된 쓰 촨 서버(182.151.214.106):
함락 된 쓰 촨 서버(182.151.214.106):
이 사례 는 목마 가 제거 되 었 지만 그 당시 서버 는 연결 이 되 었 고 서버 도 thinkphp 프레임 워 크 였 으 며 사용자 이름 은 chanpei 로 의심 되 었 습 니 다.
장 비 는 해커 가 목 마 를 연결 하고 인터넷 조회 명령 을 수행 할 때의 메 시 지 를 기록 해 얻 은 정 보 는 상기 오류 신고 정보 와 일치한다.또한 서버 도 내부 망 에 있 는 기계 임 을 알 수 있다.캡 처 를 통 해 적어도 이 네트워크 는 192.168.9.0 과 192.168.5.6.0 두 개의 서브 네트워크 를 포함 하고 다음 과 같은 그림 을 볼 수 있다.
함락 된 미국 서버(161.129.41.36):
미국 이 서버 의 웹 셸 도 제거 되 었 다.장치 캡 처 를 통 해 해커 가 같은 웹 셸 목 마 를 사용 한 것 으로 밝 혀 졌 다.즉,x.phop 은 같은 해커 들 로 의심 된다.
해커 가 미국 서버 에서 x.phop(webshell)파일 내용 을 탐색 할 때 장 치 는 x.phop 의 비밀 번 호 를 xiao 로 기록 하고 표지 위치 도 baidu 이다.
이 두 개의 Thinkphp 고위 험 RCE 구멍 을 이용 해 당시 대량의 서버 구멍 을 쓸 어 냈 음 을 알 수 있다.
총결산
본 고 는 씽 크 phop 의 역사적 허점 원 리 를 결합 해 씽 크 phop 의 허점 을 이용 해 공격 에 성공 한 사례 를 발견 한 사례 를 공유 했다.현재 장치 에서 매일 가장 많이 감지 되 는 로 그 는 weblogic,struts 2,thinkphp 와 같은 직접 getshell 로그 나 ssh rdp 폭력 해결 로그 입 니 다.많은 공격 자 들 이 최신 exp 를 발견 하면 자신의 스캐너 에 장 착 하여 그물 전 체 를 쓸 고 하루 에 내 려 오 면 몇 개의 셸 일 것 이다.그래서 고위 험 구멍 이 생 긴 후에 사용자 에 게 제때에 패 치 를 하고 안전 설비 전략 을 설정 하 는 것 을 권장 합 니 다.실제 몇 가지 사례 를 보면 스캐너 의 위험 은 항상 있 습 니 다.사이트 가 ip 직접 방문 을 금지 하도록 설정 할 수 있다 면 이런 위협 을 어느 정도 완화 시 킬 수 있다.
이상 은 어떻게 보호 측면 에서 Thinkphp 의 역사적 구멍 을 보 는 지 에 대한 상세 한 내용 입 니 다.보호 측면 에서 Thinkphp 의 역사적 구멍 을 보 는 자 료 는 우리 의 다른 관련 글 을 주목 하 세 요!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Thinkphp의 S 캐시 사용법!텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.