반응형

주어진 코드는 아래와 같다.

<html>
    <head>
        <title>Challenge 17</title>
    </head>
    <body bgcolor=black>
        <font color=red size=10></font>
        <p>
        <form name=login>
            <input type=passwd name=pw>
            <input type=button onclick=sub() value="check">
        </form>
        <script>
            unlock = 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 * 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 * 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 * 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 / 100 * 10 * 10 + 1 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 * 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 + 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 - 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 / 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 / 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 / 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 / 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 / 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 / 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 / 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 / 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 / 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 * 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 * 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 * 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 * 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 * 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 * 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 * 100 * 10 * 10 + 100 / 10 - 10 + 10 + 50 - 9 * 8 + 7 - 6 + 5 - 4 * 3 - 2 * 1 * 10 + 9999999;
            function sub() {
                if (login.pw.value == unlock) {
                    location.href = "?" + unlock / 10;
                } else {
                    alert("Wrong");
                }
            }
        </script>

 

1. unlock이라는 굉장히 수식이 나온다.

결과: 7809297.1 

console을 이용해 편하게 계산

function sub()

2. login.pw.value와 unlock이 같은 경우 현재 url에 unlock/10을 하여 다른 사이트가 열린다.

 

그러므로 unlock의 값인 7809297.1을 넣어주면 바로 풀린다.

 

푼경우 아래의 url로 간다.

반응형

'webhacking.kr' 카테고리의 다른 글

webhacking.kr [old-16]  (0) 2023.07.13
webhacking.kr [old-06]  (0) 2023.07.13
webhacking.kr [old-14]  (0) 2023.07.13
webhacking.kr [old-18]  (0) 2023.07.13
webhacking.kr [old-1]  (0) 2023.07.13
반응형

아래와 같이 코드가 구현되어 있다.

<html>
<head>
<title>Challenge 14</title>
<style type="text/css">
body { background:black; color:white; font-size:10pt; }
</style>
</head>
<body>
<br><br>
<form name=pw onsubmit=ck()><input type=text name=input_pwd><input type=button value="check" onclick=ck()></form>
<script>
function ck(){
  var ul=document.URL;
  ul=ul.indexOf(".kr");
  ul=ul*30;
  if(ul==pw.input_pwd.value) { location.href="?"+ul*pw.input_pwd.value; }
  else { alert("Wrong"); }
  return false;
}
</script>
</body>
</html>

 

function ck()를 해석해보면

1. var ul 에 현재 페이지의 URL이 담긴다.

2. URL에서 .kr의 index를 찾는다.

3. index에 30을 곱한다.

4. 곱해진 index가 pw.input_pwd.value와 같을 경우 현재 페이지의 URL에 ?+비교한 값을 같이 보낸다.

 

현재 URL은 https://webhacking.kr/challenge/js-1/?input_pwd= 이런식으로 흘러간다

 

.kr의 인덱스 위치는 18이다.

그러므로 여기에 30을 곱한 값인 540을 보내면 if문을 만족하고 문제가 풀린다.

 

 

-처음에 https://를 빼고 index를 계산하여 못풀었었다.

 

반응형

'webhacking.kr' 카테고리의 다른 글

webhacking.kr [old-16]  (0) 2023.07.13
webhacking.kr [old-06]  (0) 2023.07.13
webhacking.kr [old-17]  (0) 2023.07.13
webhacking.kr [old-18]  (0) 2023.07.13
webhacking.kr [old-1]  (0) 2023.07.13
반응형

sql문제이다

 

filtering rule

no=1일떄 hi guest가 출력되므로, no=0을 만들어 거짓으로 판명나게 하고, or을 활용하여 참인 no=2를 보내어 최종적인 쿼리문이 참이되도록 만든다.

 

사용해야할 쿼리: 0 or no=2

but 공백이 필터링되고 있으므로, tab을 활용하여 우회한다.

슬래쉬 역시 필터링 되고 있으므로, /**/역시 활용하지 못한다.

최종 쿼리: 0%09or%09no=2

반응형

'webhacking.kr' 카테고리의 다른 글

webhacking.kr [old-16]  (0) 2023.07.13
webhacking.kr [old-06]  (0) 2023.07.13
webhacking.kr [old-17]  (0) 2023.07.13
webhacking.kr [old-14]  (0) 2023.07.13
webhacking.kr [old-1]  (0) 2023.07.13
반응형

처음엔 usr level이 1인 화면이 나온다.

3이상일경우 해결되며, 4이상일경우 usr level이 1로 변환된다.

사이의 값인 3.5를 usr level로 바꿔주니 solve 되었다.

 

 

 

 

 

반응형

'webhacking.kr' 카테고리의 다른 글

webhacking.kr [old-16]  (0) 2023.07.13
webhacking.kr [old-06]  (0) 2023.07.13
webhacking.kr [old-17]  (0) 2023.07.13
webhacking.kr [old-14]  (0) 2023.07.13
webhacking.kr [old-18]  (0) 2023.07.13

+ Recent posts