
OSSN의 /action/rtcomments/status 엔드포인트에서 블라인드 시간 기반 SQL 주입 취약점에 대한 개념 증명으로, timestamp 매개변수를 통한 임의 SQL 실행을 시연합니다.
/action/rtcomments/status의 블라인드 시간 기반 SQL 인젝션 (매개변수: timestamp)
/action/rtcomments/status 엔드포인트의 timestamp 매개변수에서 블라인드 시간 기반 SQL 인젝션 취약점이 발견되었습니다. 이 매개변수를 제공할 수 있는 인증된 공격자는 임의의 SQL 쿼리를 실행하여 민감한 데이터를 노출하거나 수정할 수 있습니다.
영향: 데이터 노출, 데이터 수정, 권한 상승, 시간 지연 쿼리를 통한 잠재적 서비스 거부(DoS), (DB 권한에 따라 다름).
완화 방안: OSSN을 버전 8.9 이상으로 업그레이드하십시오. 또한, 모든 데이터베이스 액세스에 매개변수화된 쿼리/준비된 문(Prepared Statement)을 사용하도록 하고, timestamp 입력을 엄격히 검증하며(예상되는 숫자 또는 ISO 형식만 허용), DB 계정에 최소 권한을 적용하고, 쿼리 시간 제한 및 로깅을 활성화하십시오.
참고: 안전을 위해 익스플로잇 페이로드는 의도적으로 생략되었습니다.
github: https://github.com/opensource-socialnetwork/opensource-socialnetwork/issues/2503
PoC
다음 요청을 POST 메서드로 전송합니다: '/action/rtcomments/status?guid=18&type=post&ossn_ts=1759741100&ossn_token=c3901a321e755ea3e9956e79eb0fbc7e674f80665725774738b93324699c7c28'
Payload: timestamp=(select*from(select(sleep(10)))a)

Payload: timestamp=(select*from(select(sleep(30)))a)
