write-up(web)/webhacking.kr

    [Webhacking.kr] RegexMaster write-up

    보호되어 있는 글입니다.

    [Webhacking.kr] Challenge old-52 write-up

    [Webhacking.kr] Challenge old-52 write-up

    문제 화면입니다. admin page로 접속하는 문제 입니다. admin page로 접근하면 다음과 같이 로그인 창이 뜹니다. 취소를 누르면 다음과 같은 창을 띄워줍니다. 소스 코드는 다음과 같습니다. 플래그를 얻기 위해서 2가지 조건이 필요함을 알 수 있습니다. 1. admin으로 로그인 2. 172.17.0.0 대역의 IP 1번은 SQLI로 통과할 수 있으며 2번은 문제에서 제공하는 프록시 페이지를 이용하여 해결할 수 있습니다. 먼저 SQLI를 수행하여 admin으로 로그인합니다. (비밀번호는 아무거나 입력) admin으로 로그인하였습니다. 로그인할 때 Authorization 헤더에 입력 값이 들어감을 확인할 수 있습니다. 이제 프록시를 활용해 admin page에 접근하자 다음과 같이 Unauth..

    [Webhacking.kr] sliping beauty write-up

    open($_FILES['upload']['tmp_name']) === true){ for($i = 0; $i numFiles; $i++){ $filename = $zip->getNameIndex($i); $filename_ = $filename.rand(10000000,99999999); if(strlen($filename) > 240) exit("file name too long"); if(preg_match('/[\x00-\x1F\x7F-\xFF]/',$filename)) exit("no hack"); if(copy("zip://{$_FILES['upload']['tmp_name']}#{$filename}", "./upload/{$filename_}..

    [Webhacking.kr] baby toctou write-up

    [Webhacking.kr] baby toctou write-up

    cat api.php를 한 결과입니다. 입력한 명령어가 파일에 fwrite 함수로 저장되며명령어를 검사한 뒤 system 함수로 수행해 줍니다. if문으로 검사를 진행한 뒤 sleep(1)을 수행하는데이 부분에서 레이스 컨디션이 발생합니다. 아래와 같이 탭 2개를 열어하나의 탭에서 ls를 수행한 뒤1초 안에 바로 cat flag.php를 입력하면ls 명령어의 결과가 cat flag.php가 됩니다. 끝!

    [Webhacking.kr] Challenge old-60 write-up

    "; 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['idx']}...