문제
Carve Party 문제는 호박을 10000번 클릭해 플래그를 획득하는 문제이며 문제 파일로 html
파일이 주어진다.

풀이
문제 파일을 열게 되면 다음과 같이 호박과 카운팅 숫자가 나타나게 된다.

해당 파일의 소스코드를 확인하면 다음과 같이 카운팅하는 부분이 존재한다. 하지만 이를 10이나 100으로 변경 후 클릭하게 되면 원하는 형태의 플래그가 아닌 이상한 문자열이 나오는 것을 알 수 있다.
else {
$('#clicks').text(10 - counter);
}
}
$(function() {
$('#jack-target').click(function () {
counter += 1;
if (counter <= 10000 && counter % 100 == 0) {
for (var i = 0; i < pumpkin.length; i++) {
pumpkin[i] ^= pie;
pie = ((pie ^ 0xff) + (i * 10)) & 0xff;
}
}
make();
});
});

이러한 결과를 통해 단순 횟수만 변경하는 것이 아니라 반복문을 통해 10000번 클릭
하면 제대로된 플래그가 나오는 것을 확인할 수 있으며 코드는 다음과 같다.
for(i = 0; i<10000; i++){
$('#jack-target').click()
}
$(’#jack-target’).click()
다음과 같은 코드는 문제 파일 상 다음과 같은 코드가 존재하기 때문에 클릭하는 부분만 가져와 작성하였다.$(function() {
$('#jack-target').click(function() {
counter += 1;
if (counter <= 10000 && counter % 100 == 0) {
for (var i = 0; i < pumpkin.length; i++) {
pumpkin[i] ^= pie;
pie = ((pie ^ 0xff) + (i * 10)) & 0xff;
}
}
make();
});
});
Flag
DH{I_lik3_pumpk1n_pi3}
Uploaded by N2T
'Dreamhack > Web hacking' 카테고리의 다른 글
Background: Cookie & Session (0) | 2023.01.17 |
---|---|
[Web hacking] funjs Write-Up (0) | 2023.01.17 |
Tools:Browser DevTools (0) | 2023.01.13 |
Background:Web Browser🌐 (0) | 2023.01.12 |
Background:HTTP/ HTTPS (0) | 2023.01.09 |