webhacking

view-source GET요청으로 id값이 admin 이면 문제가 풀림 하지만 preg_match 함수로 “admin” 이라는 문자열이 있으면 필터링되어서 no! 라는 문자가 뜸 preg_match 필터링 우회 admin 을 URL Encoding 하여서 시도해봄 admin → %61%64%6D%69%6E → ?id=%61%64%6D%69%6E URL을 Encoding 하였는데 값을 넣고 요청을 보내면 URL이 admin 으로 바뀌고 가 뜨는것이 확인됨 php문 내부에 GET[′id′]=urldecode(_GET['id'] = urldecode(G​ET[′id′]=urldecode(_GET['id']); 를 확인하였는데 이 코드때문에 만약 %61%64%6D%69%6E 를 한번 더 URL Encoding..
source code login form태그의 pw input태그에 값이 unlock과 똑같다면 function sub() 가 실행된다 계산은 js에서 풀어보았음 답 : 7809297.1
소스코드를 확인해보면 입력된 $val_id, $val_pw 를 base64 인코딩 방식으로 20번 인코딩 한 후 id와 pw의 값에서 1~8까지 해당 하는 숫자를 특수문자로 대치 하는 방식으로 코드가 작성되어져있다. 대치가 완료되면 $val_id값과 $val_pw 값은 user, password 라는 이름으로 쿠키에 저장된다 base64 : 바이너리 데이터를 문자 코드에 영향을 받지 않는 공통 ASCII 문자로 표현하기 위해 만들어진 인코딩 decode_id가 admin, decode_pw가 nimda 이면 문제가 풀림 소스코드에서 주어진 base64로 인코딩하는 부분을 긁어와 $val_id와 $val_pw를 admin, nimda로 지정 후 인코딩하고 출력되게 코드를 수정하고 개인 서버에서 php를 돌..
Code js의 if문이 true로 작동하도록 실행해보려고함. var ul 은 현재 URL임 = https://webhacking.kr/challenge/js-1/ ul은 https://webhacking.kr/challenge/js-1/ 에서 “.kr” 가 시작하는 곳의 index 값으로 대입됨 ul은 index값 * 30 으로 대입됨 문제풀이 var ul=document.URL; == https://webhacking.kr/challenge/js-1/ ul=ul.indexOf(”.kr”); == 18 ul=ul30; == 1830 = 540 답 : 540
조건. id에 \ 값이 들어오면 공백으로 대치됨. id에 ‘ 값이 들어오면 ‘’ 로 대치됨. id값은 인덱스 0부터 15자리까지 자른 값이 된다. result의 인덱스 0번값은 1이면 문제가 풀린다. SQL에서 True를 나타내는 값은 1, True 이다. 문제풀이 SQL구문에서 WHERE절에 ‘ 가 시작하고 닫히지 않은것을 확인하였음. SQL 구문의 뜻은 Table 1 에서 member 컬럼중 id의 길이가 14보다 작고, id값이 $_POST[’id’]} 인것을 찾아라 라는 뜻 일단 a 라는 값으로 시도를 해보았습니다. a’ 로 문제가 풀리지 않는것을 확인하고 다시 한번 코드 확인하였습니다. SUBSTR(0,15) 라는걸 보고 다시 재시도하였음 조건에 있는 ‘를 ‘’ 로 대치한다는 조건때문에 and ..
조건. no의 입력값을 preg_match (매치하는 값 찾는 함수)를 통해 매치되는 값이 있으면 “no hack” 이라는 exit문이 실행됨 필터링되는 문자들 공백, /, 괄호, |, &, select, from, 0x 소스코드에 admin의 no은 2라는 힌트가 제공되었음. 폼에 1을 적어서 제출하면 hi guset가 실행되는것을 확인, 또한 GET요청이기에 주소창에 no=1이 추가가 된것을 확인함. guest의 id값은 1임, where절에 id가 ‘guest’라는게 명시되어있기때문에 no값을 2로 바로 입력하더라도 실행이 되지않음 id=’guest’ and no=1 의 결과값은 True인데 이 값을 틀리게 하고 or 연산자를 이용해 no=2 라는 값만 주게 된다면 어떻게 될까? 공백문자가 필터링되..
Memo의 input태그에 내용을 채우고 파일을 선택하고 업로드시 해당하는 POST 요청의 패킷값 파일 Delete 시 패킷 SQL 인젝션이나 XSS공격은 통하지 않음 php문을 업로드하고 실행하면 실행이 될까 싶어서 업로드 후 접근해보았으나 위의 사진대로 text로만 나오고 서버 사이드 스크립트가 실행이 되지가 않는다. 파일을 업로드하고 Delete를 누르면 파일과 메모가 같이 삭제되는것을 확인할수있음. 지금 까지 알아낸것 Send 버튼을 누르면 Memo와 파일이 함께 업로드된다 파일 업로드 대상 폴더 /upload/파일명 업로드 파일 확인 시 GET 요청으로 /upload/파일명으로 접근할수 있다 파일 삭제 시 GET요청으로 ?mode=del&time=timestamp 값 으로 삭제가 된다. php문..
…….. 사용자를 투표하는 시스템으로 추정됨 한번 투표를 하면 다른 사용자나 자기 닉네임으로 투표가 불가능함 아마도 100까지 채우면 문제가 풀리는것으로 보임 어떠한 형식으로 투표를 했는지 검증을 하는지 알아보려고 웹사이트의 코드를 보았는데 html로만 구성이 되어져있음 서버 사이드 스크립트로 검증을 하는거 같음 그러다가 쿠키값에 vote_check 라는 쿠키값이 있는것을 확인하고 해당 쿠키를 삭제하고 다시 투표를 해보았을때 중복 투표가 되는것을 확인함 이를 100까지 클릭을 하기 위해 파이썬을 이용하여 자동화 스크립트를 작성해보려함 해당 사용자를 onclick 하면 GET요청으로 데이터가 보내지는것을 확인 파이썬 자동화 스크립트 URL은 https://webhacking.kr/challenge/code..
Future0_
'webhacking' 태그의 글 목록