DouPHP v1.5 임의 파일 삭제 + 원격 코드 실행 반복

(1) 파일 삭제

취약점은 admin\mobile.php 아래 76번 라인에 있습니다.

여기서 삭제할 파일의 접미사를 임의로 제어할 수 있습니다.

위로 올라가면 name=mobile_logo 필드의 값을 가져와서 $mobile_logo에 할당하는 SQL 쿼리 문입니다.

데이터베이스에서 얻어오기 때문에 다른 곳에서 SQL 인젝션이 있는지, 아니면 기성 업데이트가 있는지 확인이 필요하다.

위에도 나오는데

65번 라인에서 

여기서 포스트 매개변수와 키 값은 하나씩 분리되어 데이터베이스에 삽입됩니다.

취약점 지점으로 오세요

게시물 매개변수 직접 추가

안타깝게도 데이터베이스의 값은 변경되지 않았습니다.

계측을 확인한 결과 sql 문이 예상대로 진행되지 않고 값이 여전히 logo.jpg인 것을 발견했습니다.

위의 코드 블록은 post 값을 강제로 변경하는 것으로 추측됩니다.

 그래서 말뚝을 삽입

리플레이 패키지, 물론이죠

다음 단계는 간단하며 코드의 의미에 따라 위의 코드 블록을 직접 수정할 수 있습니다.

성공적으로 수정되었습니다 

파일을 삭제하려면 다음 링크 해제를 사용하세요.

(2) 원격 코드 실행

원격 코드 실행은 설치 지점에서 이루어지며, 설치 인터페이스가 해당 데이터를 채울 때 데이터는 큰따옴표로 묶여 실행됩니다.

이때 큰따옴표 안의 ${} 내용이 코드로 실행됩니다.

PHP 버전이 5.5 이상이어야 합니다.

트로이 목마는 config.php에 직접 전달될 수 있습니다.

(3) 콤비네이션 복싱

임의의 파일 삭제를 이용하여 data/install.lock을 삭제하면 해당 페이지가 설치 페이지로 돌아가서 트로이목마를 작성하게 됩니다.

데이터베이스에 악성문 삽입

메인 페이지에서 로고 삭제

설치 인터페이스로 이동하여 트로이 목마를 작성하세요.

성공

셸에 연결되어 있으면 트로이 목마를 재생성할 수 있습니다.

 

 

 

 

 

 

 

 

 

 

추천

출처blog.csdn.net/weixin_51681694/article/details/130229101