반응형 분류 전체보기65 [crackus] 1번 문제풀이_GET방식&기본적인 PHP의 필터링 확인&보안공부 CrackUs라는 워게임 사이트를 새로 알게 되었으니, 한번 풀어보자. LEVEL 01을 클릭하면 아래와 같이 문제를 친절히 알려준다. 일단 GET방식으로 id와pw값을 가져오는 것을 알 수 있다. -> URL뒤에 URI로 파라미터와 값을 입력하면 된다. (프록시 도구 불필요) preg_match로 입력값에 대한 필터링을 주고 있다. -> 이 문제는 play _ . ( ) info대소문자 구분없이 필터링. 즉, 이것들을 빼고 입력하면 된다. result문이 정상적으로 들어갈 경우 레벨 클리어인 것을 유추 가능하다. 위와 같이 URL 뒤에 id와 pw를 GET방식으로 입력하여 전송해보니 레벨 클리어가 되었다. 구문은 아래와 같다. ?id='+or+'1'='1&pw='+or+'1'='1 메시지 창의 "확인".. 2022. 3. 13. [webhacking.kr] Challenge_old-18 문제풀이 이번엔 SQL Injection문제다. preg_match로 DB에 접근할 수 있는 SQL 쿼리문을 필터링하는 것으로 보인다. select, from, &, |같은 문자를 대소문자 모두 확인해 아래와 같이 해킹하지 말라는 메세지로 돌려준다. DB쿼리를 보면 chall18 테이블에서 id가 guest이고 no가 입력값인 경우의 id를 가져와서 결과값으로 반환한다. 1을 입력하면 hi guest라는 메시지가 나온다. //admin's no = 2 라는 주석을 참고하여 url 뒤에 no=0%09or%09no=2라고 입력해 앞의 guest와 no를 확인하는 값을 false값으로 만들고 뒤에 or no=2를 입력해서 admin으로 접근 할 수 있다. 2021. 11. 14. [webhacking.kr] Challenge_old-17 문제풀이 17번은 js-4번으로 분류되어있다. 소스를 보면 check 버튼을 누르면 sub() 함수를 호출하는 것을 알 수 있다. 입력값이 unlock값과 같은 경우 unlock값을 10으로 나눈 값을 ?뒤에 붙이는 것으로 보여진다. 콘솔으로 unlock값을 계산해서 입력창에 넣었다. 아래와 같이 문제풀이에 성공하게 된다. url의 파라미터 값을 보면 소스에서 봤던 unlock을 10으로 나눈 값이 들어가있는 것을 알 수 있다. 즉, 입력값에 7809297.1을 넣거나, url 뒤에 ?780929.71을 넣으면 문제를 풀 수 있다. 2021. 11. 14. [webhacking.kr] Challenge_old-26 문제풀이 26번 풀이 첫화면이다. view-source를 클릭하면 아래 화면으로 이동한다. id값을 admin으로 접근하면 문제를 풀 수 있는 것 같다. 페이지 소스를 봐도 특별한 건 없어보인다. url에 id값을 admin으로 넘겨본다. 아까의 preg_match 함수의 역할이 여기서 드러난다. id로 받아 온 값이 admin이면 다른화면으로 이동. 값에 decode가 있으니 admin을 urlincoding 두번 해서 값을 넘기면 아래와 같이 문제를 풀 수 있다. 2021. 11. 10. [webhacking.kr] Challenge_old-14 문제풀이 무슨 값을 바라는 건진 모르겠지만 그냥 check를 눌렀더니 Wrong이라는 문구를 보여준다. 무슨 값이 넘어가는 걸까 버프로 잡아봤다. 저 빈칸은 input_pwd란 값으로 ul값과 비교해서 같으면 문제 해결이 되는 것 같다. var ul=document.URL; url을 ul이라는 변수에 넣는다. ul의 값은 https://webhacking.kr/challenge/js-1/ ul=ul.indexOf(".kr"); .kr이란 문자열이 첫번째로 나타나는 위치 index를 리턴해 ul에 넣음 ul의 값은 18 *참고로 index값은 0부터 세야 한다. ul=ul*30; ul값에 30을 곱하기 ul의 값은 540 540을 입력하고 check를 누르면 문제 해결~ 2021. 9. 19. [webhacking.kr] Challenge_old-15 문제풀이 15번 문제를 클릭하면 처음부터 알림창으로 접근 거부되었다고 뜬다. 페이지 소스코드가 보이질 않으니 javascript인 alert()창을 실행시키지 않기 위해 설정에서 자바스크립트를 차단으로 바꾼다. 페이지 코드를 보니 / 루트로 보내버리는 것을 확인 버프로 잡은 response값을 아래와 같이 바꾼다. url에 ?getFlag를 입력하거나 위처럼 버프에서 /(루트)로 가는 locatoin.href='/';를 지우면 Get Flag로 이동할 수 있다. 문제풀이 성공~ -----------------------------------여담----------------------------------- 버프를 open browser로 사용하는 경우 버프에서도 response 패킷을 잡히게 설정해 놔야 넘어가는.. 2021. 9. 19. 이전 1 ··· 7 8 9 10 11 다음 반응형