본문 바로가기

old/Cyber Security

LDAP 인젝션 치트시트

반응형

기본 검색 LDAP 쿼리

LDAP (Lightweight Directory Access Protocol)는 주로 디렉터리 서비스(예: Active Directory)에서 특정 정보를 검색하는 데 사용됩니다. 다음은 기본적인 검색을 위한 LDAP 쿼리의 예입니다:

(&(속성1=값1)(속성2=값2))
  • &는 여러 조건을 결합하는 논리적 "AND" 연산자입니다.
  • 속성1과 속성2는 디렉터리 내에서 검색하려는 속성의 이름입니다 (예: "cn"은 공통 이름, "mail"은 이메일입니다).
  • 값1과 값2는 해당 속성 내에서 찾고자 하는 값입니다.
  • 특정 요구 사항에 맞게 속성과 값을 사용자 정의할 수 있습니다. 예를 들어, "John Doe"라는 공통 이름과 "john.doe@example.com"이라는 이메일 주소를 가진 사용자를 검색하려면 쿼리는 다음과 같을 것입니다
(&(cn=John Doe)(mail=john.doe@example.com))
  • 즉. 로그인을 하기 위해서 는 아래와 같은 쿼리를 사용할수 있습니다.
(&(cn=USERNAME)(userPassword=PASSWARD))

기초적인 LDAP 인젝션 쿼리

**(&)**는 LDAP 필터에서 "AND" 연산자만을 의미하는 것이 아닌, 빈 필터를 나타내는 문법적인 요소입니다. 그러므로 이를 이요해서 아이디에 USERNAME>(&)을 입력합니다. 그러면 아래와 같이 쿼리가 실행됩니다.

(&(cn=USERNAME>(&))(userPassword=PASSWARD))

**(&)**는에 따라서, 뒤쪽의 필터는 제약조건이 없어지고 모든 엔트리가 반환되므로, 자연스럽게 로그인이 되게 됩니다.

반응형