학습
워게임
CTF
커뮤니티
랭킹
스토어
커리어
Beta
로그인
|
기업 서비스
Home
학습
워게임
CTF
커뮤니티
랭킹
커리어
Beta
기업 서비스로 이동하기 >
LEVEL 9
web-dreamshop
web
1540
34
로그인 하고 문제 풀기
문제 정보
풀이
11
난이도 투표
5
질문
6
최근 풀이자
34
댓글
11
해당 문제는 Dreamhack CTF Season 1 Round #3 에 출제된 문제입니다.
문제 설명
DreamShop을 오픈했습니다. 취약점을 찾아 FLAG를 구매하세요.
Translate
출제자 정보
Dreamhack
대표 업적 없음
2020.11.14. 10:00:00
First Blood!
shpik
워게임 고인물
출제된 지
2일
만에 풀이 완료!
난이도 투표
5
문제 풀이를 완료한 후에 피드백을 제출할 수 있습니다.
투표 결과
전체 투표 로그
1 / 1
Nosql
워게임: 20
LEVEL 8에 투표했습니다.
5개월 전
2dedce
워게임 고인물
LEVEL 9에 투표했습니다.
6개월 전
moons03
대표 업적 없음
LEVEL 9에 투표했습니다.
1년 전
Sechack
CTF First Place
LEVEL 9에 투표했습니다.
2년 전
juhyun167
워게임 고인물
LEVEL 8에 투표했습니다.
2년 전
질문
6
문제 풀이에 어려움이 있으신가요?
커뮤니티에서 문제에 대한 질문하고 답변 얻기
/debug/:data 가 문제 풀이에 사용되나요?
client side의 app.9ada4703.js 파일을 보고, /#/:id/detail 에서 HTML injection이 가능하다는 것을 확인했습니다 그래서 이를 위해 /debug/:data를 사용해보는 중인데, substr로 22자 제한이 걸려 있어 payload의 길이를 줄여보고 있습니다 혹시 이런 방향으로 문제를 해결하는 것이 맞는지, 아니면 아에 잘못된 방향으로 접근하고 있는 것인지 힌트를 주신다면 감사할 것 같습니다
코딩하고싶어요
답변
0
추천
7
3년 전
안녕하세요 질문에 남겨주신 답변보고 질문 남깁니다 !
Frontend /#/ /items /user/info /#/:id/detail /user/info, /:id(\\d+)/info에 요청 보내서 받아옴 Buy /:id(\\d+)/buy에 post 요청 onSubmit onSubmit: function(t) { var e = this; t.preventDefault(), this.$http.post("/".concat(this.id, "/buy")).then((function(t) { e.$cookie.set("token", t.data.token), alert("buy item!"), location.href = t.data.data })).catch((function(t) { alert(t.response.data) })) buy를 하면 location.href = t.data.data secret_data로 redirect 한다. parseInt(req.params.id, 10) var item = items.find(item => item.id == id); secret_data['' + id] secret data를 가져올 때 입력으로 준 id를 씀. item.id가 아니라 입력벡터 의심 : id -> 근데 뭔가를 하려고 해도 꼼꼼하게 검증되어 있는 것 같다. redirect 하는 것을 가지고 뭐 어떻게 할 수 없을까… => 방문하면 post 요청하게 어떻게 할 건데? /#/login uid upw 입력으로 받고 /login으로 포스트 요청 내부적으로 login(uid,upw) 사용 입력벡터 의심 : uid upw /#/report login()만 사용함 입력한 path에 // 검증만 하고 방문함 입력벡터 의심 : path /debug/:data data에 입력한 값이 text/plain으로 22글자 나옴. 경로에 뭐 검증이 없긴 하다. post 요청을 보내는 곳에는 다른 js가 삽입이 되어야 자동 submit이 될텐데… GET method / /debug/:data /items /:id/info POST method /login /report /:id/buy 처음에는 /report에서 사용하는 path에 어찌저찌 해서 진행해야 하나 싶었는데… 그 것도 잘 안되고 다른 url에서는 도저히 어떤 방식으로 진행해야 할지 잘 모르겠습니다 ㅠ 현재는 /debug/:data에 data값에 검증이 없어서 뭔가를 시도 중입니다. 피드백이나 방향성만 제시해주시면 감사하겠습니다…
bbang_jo
답변
2
추천
5
3년 전
질문 있습니다!!
jwt.expiresIn에 admin은 10 user는 300을 주는데 이 함수의 디폴트가 단위가 ms이다. --> 300ms이면 0.3초인데 왜 제한 시간이 지나도 jwt 토큰이 만료가 안되고 로그인된 세션이 계속 유지가 되나요? 화면 캡처 2022-01-31 194249.png buy페이지에 post 요청을 보내서 한번 사는것을 테스트해보고 싶습니다. --> 파이썬 requests모듈, 버프스위트를 써봤지만 요청을 보내니 로그아웃되서 잘 되지 않아서 콘솔창에서 해봤습니다. --> 어떻게 요청을 보내면 buy를 해볼 수 있나요? 1.png 2.png
sangjun
답변
1
추천
5
2년 전
자동으로 페이지가 뒤로 돌아가는 것이 의도된 것인가요?
해당 문제를 해결하는 중, /#/:id/detail에 접근하면 조금 있다가 메인 페이지로 돌아가는 현상이 발생하는데 의도된 현상인가요?
qwerty
답변
1
추천
4
2년 전
에러 원인좀 알려주실 수 있을까요
app.options('/',function(req.resp){ resp.header() << access-control header, origin 전부다 * }) 에러떠주는거마다 다 추가해줬는데 결국에는 또 accessoring 헤더가 없다고 하는데 원인이 뭘까요...
shyeun
답변
1
추천
3
2년 전
방향성에 대해 질문 드립니다.
admin의 경우 jwt 토큰 만료 시간이 10초여서, 만료가 되기 전에 admin token을 가지고 buy을 하면 no login메세지가 뜹니다. guest의 경우는 잘 되는데 말이죠 ㅠㅠ... 이 이상 어떻게 접근하는게 좋을까요? 현재 어디가 취약한 곳인지는 알고 있습니다만, 위 방법 이외의 exploit할 시나리오를 잘 모르겠습니다. 도와주세요ㅠㅠ
Nosql
답변
2
추천
2
2년 전
«
‹
1
›
»
최근 풀이자
34
0xOZ
대표 업적 없음
1개월 전
juhwisang
워게임 고인물
2개월 전
ash3r
워게임 고인물
9개월 전
Cronus
워게임 고인물
10개월 전
Universe
워게임: 50
11개월 전
moons03
대표 업적 없음
1년 전
Ivy
대표 업적 없음
1년 전
junan
공부벌레
1년 전
P1nkjelly
워게임: 50
2년 전
PecentZero
워게임 고인물
2년 전
«
‹
1
2
3
4
›
»
댓글
11
moons03
대표 업적 없음
1년 전
진짜 역대급이네요..
Translate
PecentZero
워게임 고인물
2년 전
시간 투자 많이 했습니다 ㅎㅎ
Translate
Sechack
CTF First Place
2년 전
와 꿀잼
Translate
n1net4il
워게임 고인물
3년 전
요즘 폰립 말고 다른 분야 공부하고 있는데 재밌네요 ㅎㅎ 좋은 문제 정말 감사드립니다!
Translate
ainsetin
Open Beta Tester
3년 전
dafksdjklaskgjkal;jkld;gopaebui;alwuo;i[nk;jqeidk'weokvdbl;gwkao[cvbewjopldjo;'
Translate
넴
워게임 고인물
3년 전
fdsafmka;mf;lfmd;lq
Translate
bbang_jo
워게임: 50
3년 전
정말 많은 이유들로 엄청난 삽질을 했습니다.. 많이 공부하게 하는 문제였습니다.
Translate
as3617
워게임 고인물
3년 전
재밌네요
Translate
2dedce
워게임 고인물
3년 전
많이 공부하게 만드는 문제입니다
Translate
shpik
워게임 고인물
3년 전
팬을 멈출수가없네요.
Translate
«
‹
1
2
›
»
댓글 11