공격설명
이 취약점은 악의적인 사용자가 보안상의 취약점을 이용하여, 임의의 SQL 문을 주입하고 실행되게 하여 데이터베이스가 비정상적인 동작을 하도록 조작하는 행위입니다.
해당 구문이 정상 동작할 경우, 공격자는 결과 확인을 통해 취약점 존재 여부를 판단할 수 있으며, 데이터베이스에 침입하여 시스템의 민감한 정보를 변경하거나 탈취할 수 있습니다.
공격구문
GET /_res/l_system0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z/_js/user/m_mn.js HTTP/1.1
X-Requested-With: XMLHttpRequest
Referer: hxxps://
Cookie: JSESSIONID=pTg0OnbS2waCRLaNIJvzL0Vm8mWUuab1dlZFrawpyO8xMpJwz47QWZkgARgZo1Ml._engine1; l_system_visited=20240926100505530001; org.springframework.web.servlet.i18n.CookieLocaleResolver.LOCALE=ko
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,br
User-Agent: User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; 360SE)
Host:
Connection: Keep-alive
탐지근거
XOR(if(now()=sysdate(),sleep(15),0))XOR
----------------------------------------------------------------------------------------------------------------------------------------------
해당 요청은 HTTP 요청 형식으로 보이며, 이와 관련된 보안 문제를 야기할 수 있는 SQL 인젝션(SQL Injection) 공격이나 서버 사이드 인젝션(Server-Side Injection)의 일환일 수 있습니다.
특히 "XOR(if(now()=sysdate(),sleep(15),0))XOR" 부분은 데이터베이스나 서버의 시간을 비교하고, 그 결과에 따라 일정 시간 동안 시스템을 일시적으로 중단시키는 타임 기반 인젝션(Time-Based Injection) 공격으로 보입니다. 즉, now()와 sysdate() 함수가 같은 값을 반환하면 서버가 15초 동안 응답을 중단하도록 유도하는 구문입니다. 이를 통해 공격자는 시스템의 취약점을 확인하거나 정보 노출을 시도할 수 있습니다.
보안 권장 사항:
- 입력 값 검증: 모든 입력 값에 대해 엄격한 검증을 수행하고, SQL 쿼리나 코드에 직접 포함되기 전에 적절하게 이스케이프 처리.
- Prepared Statement 사용: SQL 쿼리 작성 시 Prepared Statements를 사용하여 SQL 인젝션을 방지할 수 있습니다.
- 웹 애플리케이션 방화벽(WAF): WAF를 사용하여 의심스러운 요청을 필터링하고 차단하는 것이 좋습니다.
- 타임 기반 인젝션 탐지: 타임 기반 인젝션 공격을 감지할 수 있는 보안 솔루션을 도입하여 비정상적인 요청을 탐지
'보안관제 이벤트 분석' 카테고리의 다른 글
[보안관제] URL 패턴 탐지 (0) | 2024.10.02 |
---|---|
[보안관제] 파일 업로드 취약점 공격 탐지(URL패턴탐지) (1) | 2024.09.30 |
[보안관제] 웹 어플리케이션 취약점 공격 탐지(Webshelll에 사용되는 객체 탐지) (0) | 2024.09.25 |
[보안관제] 웹 서버 취약성 탐지(PHP SessionID(PHPSESSID) URL 노출 탐지) (0) | 2024.09.24 |
[보안관제] 디렉토리 접근 시도 탐지(Directory Access) (0) | 2024.09.12 |