Web Hacking/Webhacking.kr

"; echo "view-source"; $_GET['id'] = addslashes($_GET['id']); if(preg_match("/\(|\)|select|from|,|by|\./i",$_GET['id'])) exit("Access Denied"); if(strlen($_GET['id'])>15) exit("Access Denied"); $result = mysqli_fetch_array(mysqli_query($db,"select {$_GET['id']} from chall61 order by id desc limit 1")); echo "{$result['id']}"; if($result['id'] == "admin") solve(61); echo "";?> result의 id가..
lv : {$result['lv']}"; if($result['lv'] == "admin"){ mysqli_query($db,"delete from chall59"); solve(59); } echo "view-source"; exit(); } } if($_POST['id'] && isset($_POST['phone'])){ $_POST['id'] = addslashes($_POST['id']); $_POST['phone'] = addslashes($_POST['phone']); if(strlen($_POST['phone'])>=20) exit("Access Denied"); if(preg_match("/admin/i",$_POST..
문장을 보면 index.php파일을 vi편집기로 편집하다가 전원이 나가버려 파일이 사라졌다는 얘기이다. vi편집 중에 예기치 않게 종료해버린 경우 생성되는 파일이 있는데 바로 swap 파일이다. swap 파일이 생성되었다면 .원본파일명.swp 형식으로 생성된다. 그래서 .index.php.swp을 url에 쳐주면 index.php의 swap 파일을 획득 할 수 있다. 파일을 열어보면 flag를 획득 할 수 있다. ??> $flag = "FLAG{what_about_the_nano_editor?}";
처음 접속하면 hello.php로 접속되는 것을 볼 수 있다. 일단 flag를 찾아야 하니 flag.php로 접속해보면 별반 중요한 내용이 들어있지는 않다. 유추해 볼 수 있는점은 .php가 자동으로 붙는다는 점이고 flag.php의 내용을 파악해야 한다는 점이다. 버프스위트도 돌려보고 혼자 해보다 안돼서 찾아보니 php wrapper를 사용해야 한다고 한다. https://www.php.net/manual/en/wrappers.php PHP: Supported Protocols and Wrappers - Manual Even though their names will be the same, you can have more than one //memory or //temp stream open concu..
대문자만하게 SQL INJECTION 이라고 나와있다. 소스코드를 보면 다음과 같다. 먼저 중요한 부분들을 살펴보면 preg_match메서드는 문자열에 패턴이 있는지 확인하는 메서드이다. * preg_match(패턴, 문자열) 이때 패턴앞뒤에 '/'가 와야하고 패턴들을 구분하기 위해 '|' 문자를 쓴다. 그리고 특수문자들을 표현할땐 앞에 '\'를 표시해준다. 만약 패턴이 하나라도 걸리면 true를 아니면 false를 반환한다. 때문에 $_GET['no']엔 위의 패턴들을 사용하면 안된다. 그리고 볼 점은 db구문이다. select id from chall18 where id='guest' and no =$_GET[no] id가 guest이고 no가 GET['no']인 부분을 불러오는데 여러가지 방법이 있..
프레딕
'Web Hacking/Webhacking.kr' 카테고리의 글 목록 (8 Page)