분류 전체보기(363)
-
old-26 풀이
preg_match()를 사용해서 admin을 필터링하고 있습니다 그리고 그 다음 줄에 urldecode() 함수가 보이는데, id를 넣어서 나온 리턴값을 admin과 비교해 줍니다 그러므로 solve() 함수를 호출하려면 id에 "admin" 문자열을 URL Encoding해서 값으로 넣어주면 됩니다 ?id=%61%64%6d%69%6e 위와 같이 파라미터를 넣어서 보내줬는데, 원하는 대로 동작이 되지 않습니다 아마 자동적으로 디코딩이 되는 것 같은데, " %61%64%6d%69%6e"를 한 번 더 인코딩해서 넣어주겠습니다
2023.12.24 -
old-17 풀이
버튼을 누를 경우 sub() 함수가 호출되며 코드 동작이 시작되는 방식입니다 input 박스에 입력된 값이 unlock와 같다면 ?unlock/10 페이지로 이동한다고 되어있습니다 ?unlock/10 페이지에 FLAG가 있을 것 같으므로, unlock의 값을 알아내보겠습니다 이 값을 Python으로 계산해도 되긴 하지만, 그냥 콘솔에서 unlock를 출력해서 값을 가져오겠습니다 저 값을 input 박스에 입력해 보겠습니다
2023.12.24 -
old-18 풀이
페이지에 들어가자마자 SQL INJECTION이라고 대놓고 알려주고 있습니다 소스를 보니 id가 admin이어야 문제가 풀리는 것으로 보입니다 (노란색 주석으로 admin의 no는 2라고 추가 힌트를 줬네요) preg_match() 안에 필터링되는 문자들이 적혀있습니다 저 문자들을 피해서 쿼리를 작성하고, URL에 GET 방식으로 보내주면 문제가 해결될 듯합니다 select id from chall18 where id='guest' and no=$_GET[no] SQL문을 보니 id는 guest로 설정되어있는 상황입니다 그렇다면 no=$_GET[no] 부분을 거짓으로 만들고, 뒤에 추가적으로 or no=2를 붙여주는 식으로 접근해야 할 듯합니다 위와 같이 쿼리를 작성해 주고 엔터를 누르면 문제가 풀리는 ..
2023.12.22 -
old-54 풀이
들어가는 순간 Password is 뒤에 FLAG가 한 글자씩 나옵니다 Password is FLAG{~~~}의 형식으로 화면에 출력되도록 JS 코드를 바꿔보겠습니다 출력을 담당하는 함수는 answer()인 것으로 보입니다 이 함수를 아래와 같이 바꿔줬습니다
2023.12.22 -
old-15 풀이
Access_Denied라는 팝업창이 뜨면서 접속이 되질 않습니다 아마 JS에서 접속 차단 코드가 동작하는 것을 추측됩니다 페이지 소스를 확인해봐야 할 것 같은데.... Python Request로 받기는 귀찮으니 JS를 끈 상태로 접속해 보겠습니다 JS를 끈 상태로 접속하니 흰 화면이 떴습니다 페이지 소스 보기로 코드를 가져오겠습니다 alert()로 문자열을 띄운 다음에 바로 리다이렉션을 시키고 있습니다 그리고 그 아래에 document.write() 구문이 있습니다 ?getFlag에 접속하면 FLAG를 획득할 수 있는 것 같습니다
2023.12.21 -
old-01 풀이
$_COOKIE['user_lv']>=4 $_COOKIE['user_lv']>3 위 조건들을 보니 쿠키의 값이 3보다는 크면서 4 이상이 되면 안 됩니다. 이러면 3.x와 같은 식으로 소수를 쿠키의 값을 줘야 합니다. 쿠키의 값이 1로 설정되어 있는 것을 확인할 수 있습니다. 이를 3.5로 바꿔보겠습니다. 페이지를 이동하니 문제가 해결되었습니다. (원래는 old-01 Pwned!라는 문구가 나와야 하는데, 이미 풀고 나서 블로그를 쓰고 있기에 already solved라고 뜨는 겁니다)
2023.12.21