>  기사  >  PHP 프레임워크  >  Laravel이 웹사이트 취약점을 수정하는 방법

Laravel이 웹사이트 취약점을 수정하는 방법

藏色散人
藏色散人앞으로
2020-06-12 15:11:503793검색

다음 튜토리얼 칼럼은 Laravel에서 웹사이트 취약점을 복구하는 Laravel의 방법을 소개합니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

Laravel이 웹사이트 취약점을 수정하는 방법

Laravel 프레임워크는 현재 많은 웹사이트와 APP 운영자가 사용하고 있는 개발 프레임워크입니다. 사용되는 웹사이트가 많기 때문에 많은 공격자들이 지속적으로 웹사이트의 취약점을 테스트하고 있습니다. REC 취약점이 있는 것으로 확인되었습니다. 주로 XSRF 취약점에 대해 자세히 분석하고, 취약점 활용 방법과 해결 방법을 알아 보겠습니다.

Laravel REC 취약점 악용 조건과 APP_KEY가 필요합니다. 전체 취약점 테스트 및 재현 과정에서 당사의 SINE 보안 기술은 웹사이트 취약점 발생으로 이어질 수 있는 총 2곳을 발견했습니다. 첫 번째는 쿠키 필드입니다. 패킷을 게시하면 HTTP 헤더 필드에 악성 전체 코드가 웹사이트 백엔드에 삽입될 수 있습니다.

Linux Centos 시스템과 PHP5.5 버전, 데이터베이스를 이용하여 웹사이트 취약점 테스트 환경을 설정해 보겠습니다. Apache를 이용하여 구축한 mysql입니다. 사용된 Laravel 버전은 5.6.28입니다. 먼저 공식 웹사이트로 이동하여 버전을 다운로드한 후 apache에서 설정한 웹사이트 디렉토리 경로에 압축을 풀고 코드에서 게시물 데이터를 볼 수 있습니다. 12개 이상의 클래스가 호출되고 해당 클래스의 개체가 호출되고 매개변수가 할당됩니다. cookie 및 verifycsrftoken 값에서 app_key가 취약점 악용에 사용될 수 있음을 확인했습니다. 먼저 쿠키를 사용하여 이를 재현합니다.

Laravel이 웹사이트 취약점을 수정하는 방법코드는 다음과 같습니다.

POST / HTTP/1.2
Host: 127.0.0.2:80
Cookie: safe_SESSION=PHPSTORM; 5LqG5L+d6K+B5omA6L6T5Ye655qE57yW56CB5L2N5Y+v6K+75a2X56ym77yMQmFzZTY05Yi25a6a5LqG5LiA5Liq57yW56CB6KGo77yM5Lul5L6/6L+b6KGM57uf5LiA6L2s5o2i44CC57yW56CB6KGo55qE5aSn5bCP5Li6Ml42PTY077yM6L+Z5Lmf5pivQmFzZTY05ZCN56ew55qE55Sx5p2l44CCDQoNCkJhc2U2NOe8lueggeihqA==;
Content-Type: application/x-www-form-
Connection: open
Content-Length: 1

위 코드는 쿠키 열에 있습니다. 암호화된 값은 우리가 위조하려는 공격 코드입니다. 먼저, APP_key를 복호화하여 할당합니다. 암호 해독에 성공하면 쿠키의 값이 확인되고 역직렬화되어 취약점이 발생하고

Http 헤더 취약점을 악용하는 방법을 테스트해 보겠습니다. 우선 구조는 쿠키와 유사합니다.

POST / HTTP/1.2
Host: 127.0.0.2:80
X-XSRF-TOKEN: +B5omA6L6T5Ye655qE57yW56CB5L2N5Y+v6K+75a2X56ym77yMQmFzZTY05Yi25a6a5LqG5LiA5Liq57yW56CB6KGo77yM5Lul5L6/6L+b6KGM57uf5LiA6L2s5o2i44CC57yW56CB6KGo55qE5aSn5bCP5Li6Ml42PTY077yM6L+Z5Lmf5pivQmFzZTY05ZCN56ew55qE55Sx5p2l44CCDQoNCkJhc2U2NOe8lueggeihqA==;
Content-Type: application/x-www-form-
Connection: open
Content-Length: 1

Laravel이 웹사이트 취약점을 수정하는 방법여기서 X-XSRF-TOKEN: 값을 보면 Laravel 프레임워크가 이 값을 판단하고 검증합니다. 복호화에 성공하면 deserialization 작업이 수행됩니다. 여기서는 하나씩 소개하고 설명하지 않겠습니다.

그럼 Laravel의 취약점을 해결하는 방법은 무엇일까요?

SINE 보안 기술이 Laravel 버전으로 업그레이드되었으며 최신 5.6.30 버전에서는 rce 취약점이 수정된 것으로 확인되었으며, 코드 비교를 통해 쿠키의 복호화 및 파싱 작업이 판단되었으며, 이 값이 추가되었음을 알 수 있습니다. X-XSRF-TOKEN에도 추가되어 있습니다. 코드에 대해 잘 모르신다면 전문 웹사이트 보안업체를 찾아 수리하실 수도 있습니다. 이것은 Laravel에 대한 웹사이트 취약점 탐지 및 테스트이기도 합니다. 이러한 공유를 통해 더 많은 사람들이 웹사이트의 취약점과 취약점의 발생 이유와 허점을 해결하는 방법을 이해하게 될 것입니다. 웹사이트가 안전해지면 우리는 손과 발을 자유롭게 하여 시장을 발전시키고 마케팅을 잘 할 수 있습니다.

위 내용은 Laravel이 웹사이트 취약점을 수정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 aliyun.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제