728x90 webhacking.kr4 webhacking.kr - old-39 view_source 결과 sqli 방지책 1 $_POST['id'] = str_replace("\\","",$_POST['id']); 열슬래쉬 기호를 사용할 수 없다. 만약 사용할 수 있다면 'abc\''처럼 따옴표를 닫아 우회가 가능해질 것이다. sqli 방지책 2 $_POST['id'] = str_replace("'","''",$_POST['id']); 따옴표 (')를 입력할 시 따옴표가 두 개가 ('') 써진다. $result = mysqli_fetch_array(mysqli_query($db,"select 1 from member where length(id) 2023. 5. 31. webhacking.kr - old-04(Challenge 4) 첫 화면은 어떤 해시값이 써져 있고 아래에는 비밀번호를 제출하는 곳이 있다. [view-source]를 눌러 소스코드를 확인해 본다. if((isset($_SESSION['chall4'])) && ($_POST['key'] == $_SESSION['chall4'])) solve(4); 사용자로 부터 key(비밀번호)를 입력을 받으며, chall4 세션과 일치하면 solve(4)를 실행한다. 제일 중요한 아랫부분을 살펴보면 $hash = rand(10000000,99999999)."salt_for_you"; 10000000~99999999까지의 랜덤의 정수를 가져와서 "salt_for_you"라는 솔트를 합친다. 그래서 이 "랜덤숫자_salt_for_you"는 chall4 세션에 할당한다. for($i=0.. 2023. 2. 15. webhacking.kr - old-20(Challenge 20) 2초 안에 닉네임, 코멘트, 캡챠 폼을 채우고 보내지 않으면 "Too Slow..."라는 페이지가 나오면서 다시 입력 페이지로 리다이렉션 된다. (function() { 'use strict'; document.querySelector("[name='id']").value="test"; document.querySelector("[name='cmt']").value="hello!"; lv5frm.captcha.value = lv5frm.captcha_.value; ck(); })(); 나 같은 경우는 브라우저 확장 도구를 통해서 해당 페이지에 접속하면 알아서 스크립트가 실행되게 만들었다. 그랬더니 페이지에 들어가면 순식간에 입력 후 제출이 되면서 해결이 되었다. 2023. 2. 15. webhacking.kr - old-11(Challenge 11) view-source view-source 사용자로부터 val이라는 이름의 GET 파라미터를 입력받는다, 만약에 아래의 정규표현식에 참의 결과가 나오면 정답처리 /[1-3][a-f]{5}_.*$_SERVER[REMOTE_ADDR].*\tp\ta\ts\ts/ $_SERVER[REMOTE_ADDR]는 접속자의 아이피를 가져오기 때문에 아이피 확인 사이트(https://ip.pe.kr/ )에서 자신의 주소를 찾고, 나머지 정규표현식들이 만족하게끔 값을 추가하면 된다. 아래의 연습 사이트에서 정규표현식 조건을 넣어서 직접 확인해 보았다. https://regexr.com/ RegExr: Learn, Build, & Test RegEx RegExr is an online tool to learn, build, &.. 2023. 2. 15. 이전 1 다음 728x90