RCE with PostgreSQL Languages
PostgreSQL 언어
접근한 PostgreSQL 데이터베이스에는 설치된 다양한 스크립팅 언어가 있을 수 있으며, 이를 악용하여 임의의 코드를 실행할 수 있습니다.
다음과 같이 실행할 수 있습니다:
대부분의 PostgreSQL에 설치할 수 있는 스크립팅 언어는 2가지 유형이 있습니다: 신뢰할 수 있는 언어와 신뢰할 수 없는 언어입니다. 신뢰할 수 없는 언어는 "u"로 끝나는 이름을 가지며, 코드를 실행하고 다른 흥미로운 함수를 사용할 수 있는 버전입니다. 다음은 설치되면 흥미로운 언어입니다:
plpythonu
plpython3u
plperlu
pljavaU
plrubyu
... (다른 언어도 보안 취약 버전을 사용하는 경우)
만약 PostgreSQL에서 설치되어 있지만 신뢰할 수 없는 언어를 찾았다면 (**lanpltrusted
**가 **false
**인 경우), 다음 줄을 사용하여 PostgreSQL에서 제한을 적용하지 않도록 신뢰할 수 있습니다:
만약 언어가 보이지 않는다면, 다음과 같이 로드해 볼 수 있습니다. (슈퍼 관리자 권한이 필요합니다):
안전한 버전을 "안전하지 않은" 버전으로 컴파일하는 것도 가능합니다. 예를 들어 여기를 확인해보세요. 따라서, 설치된 신뢰할 수 있는 버전만 찾았다고 하더라도 코드를 실행할 수 있는지 시도하는 것은 항상 가치가 있습니다.
plpythonu/plpython3u
pgSQL
다음 페이지를 확인하세요:
pagePL/pgSQL Password BruteforceC
다음 페이지를 확인하세요:
pageRCE with PostgreSQL ExtensionsLast updated