Webhacking.kr 12번 문제 풀이


바로 12번 문제를 클릭해보자



그럼 아래와 같은 글씨가 나타난다



소스 보기를 해보면 아래와 같이 <script> </script> 안에 엄청난 무엇인가가 있다



아스키코드인거 같다


eval로 실행하게 되어있는데 아까 화면에 아무일도 안 일어난거보니


한번 확인해봐야 할 거 같다


아래와 같이 alert으로 감싸주면...



아스키코드로 되어있던것이 아래와 같이 해석되어 표시된다



먼거 복잡하다


그래서 if(ck== 부분을 != 으로 바꿔보려고했는데 Password is 하고 뒤에가 안나왔다


if(ck=! 로 바꿨더니 그래도 답이 뜨긴한다


한번 바꿔보자


== 의 아스키코드 값인 61,61을 찾아서



아래와 같이 61,33 으로 바꿔주자


(33 ==> !)



그럼 아래와 같이 답이 나오는데


if(ck=!"=" 이런식으로 되어서


!"=" 이 부분이 false 라고 해석되는거 같다


Password is false[답]



그런데 생각해 보니 굳이 그렇게 할 필요가 없었다


아래와 같이 eval 이후에


alert을 이용하여 답 부분을 출력하도록하면 그냥 답이 출력된다



아래와 같이 답만 출력된다 ㅎㅎ



이제 Auth로 이동하여 Flag에 답을 적어주면


12번 문제가 클리어된다