Joomla는 웹 사이트와 강력한 온라인 응용 프로그램을 만들 수 있는 CMS(콘텐츠 관리 시스템)입니다.
Joomla는 누구나 자유롭게 사용할 수 있는 오픈소스 솔루션 입니다.
그러나 Joomla에서 Injection에 대한 취약점이 발견되었는데,
오늘은 Joomla의 SQL Injection 취약점에 대해 포스팅 하도록 하겠습니다.

 

Joomla!SQL injection 취약점이 존재합니다.
SQL Injection에서 SQL 쿼리는 클라이언트의 입력 데이터를 통해 응용 프로그램으로 전달됩니다.
그런 다음 쿼리가 백엔드 데이터베이스로 전달됩니다.
그리고 다음 악성 데이터가 데이터베이스 쿼리 결과를 생성합니다.

 

이 취약점은 /administrator/components/com_fields/models/fields.php.$query -> order의
getListQuery 메소드에 존재하며 사용자 입력을 삭제하지 않지만,
대신 SQL 쿼리를 구성하기 위해 이것을 연결합니다.

 

 

인증되지 않은 원격의 공격자는 아래 이미지와 같이 SQL문으로 구성된 HTTP 요청을 보내 이 취약점을
악용 할 수 있습니다.
성공적인 Injection으로 인해 민감한 정보가 유출 될 수 있습니다.

 

 

해당 Injection 취약점에 대한 대응 방안 으로는 다음과 같습니다.
1. 가능한 최신버전으로 업데이트를 하는 방법
2. SQL Injection을 막기위해 MySQL 레벨에서 주석을 사용하지 않습니다.
이것만으로도 구문이 잘못되어 악성 SQL이 실행되는 것을 방지 할 수 있습니다.

 

오늘은 Joomla!의 SQL Injection 취약점에 대해 포스팅하였습니다.
다음에도 유익한 정보를 올릴 수 있도록 하겠습니다.
감사합니다.

 



Posted by 로버무트
,