들어가보면은 login과 join창이 있다. Join창을 눌러보면 Access_Denied라고 뜬다. 그럼 login 창을 들어가보면 평범한 login 창이 뜬다. 보나마나 admin으로 로그인 해야 하니 admin과 아무거나 입력하고 로그인해보면 역시 Wrong password라고 뜬다. join 창을 들어가야 할텐데 login 창의 url은 https://webhacking.kr/challenge/web-05/mem/login.php 이다. join창의 url은 /mem/join.php라는걸 유추 해볼 수 있고 들어가보면은 bye라고 뜬다. join창을 좀 더 알아보기 위해 버프스위트로 봐주면은 응답 스크립트가 아래와 같이 나와있다. 대충 뭐 복잡하게 써놓은거 같으니 개발자도구에 script창에 복붙..
"; if(!is_numeric($_COOKIE['PHPSESSID'])) exit("Access Deniedview-source"); sleep(1); if($_GET['mode']=="auth"){ echo("Auth~"); $result = file_get_contents("./readme/{$_SESSION['idx']}.txt"); if(preg_match("/{$_SESSION['idx']}/",$result)){ echo("Done!"); unlink("./readme/{$_SESSION['idx']}.txt"); // 파일 삭제 solve(60); exit(); } } $p = fopen("./readme/{$_SESSION..
"); }echo("Admin page");if(preg_match("/2|-|\+|from|_|=|\\s|\*|\//i",$go)) exit("Access Denied!"); // \\s => 모든 공백$db = dbconnect();$rand=rand(1,5);if($rand==1){ $result=mysqli_query($db,"select lv from chall7 where lv=($go)") or die("nice try!");}if($rand==2){ $result=mysqli_query($db,"select lv from chall7 where lv=(($go))") or die("nice try!");}if($rand==3){ $result=mysqli_query($db,"selec..
view-source 코드를 보면 $pat과 get으로 받아온 val의 값이 match 되면 통과되는 문제이다. $pat을 보면은 슬래쉬(/)로 묶여있는걸 알 수 있는데 정규식 표시이다. 정규식 규칙은 아래 링크를 참고하는게 좋을 것 같다. https://www.tcpschool.com/php/php_regularExpression_basic 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com [1-3]과[a-f]표시는 1~3중 아무거나 하나 그리고 a~f중 아무거나 하나이니 1a로 놓고 {5}는 앞에 문자 5번 반복이니 1aaaaa, *은 앞에 문자 0번 반복이니 1aaaaa_ $_SERVER[REMOTE_ADDR]은 ..