웹해킹 webhacking.kr Lv.1 / 1번 /- (cookie 편집)

Study-security/Web-Hack|2013. 7. 6. 02:55

1번 문제를 풀어보도록 합시다.

처음 1번 문제에 접속하면 아래와 같은 화면이 보입니다.



여기서 index.phps 란 글자를 클릭하면 아래와 같은 소스코드가 보여지게 되는데, 이 코드가 해당 페이지의 코드라 유추 가능합니다.


<?

if(!$_COOKIE[user_lv])
{
SetCookie("user_lv","1");
echo(
"<meta http-equiv=refresh content=0>");
}
?>
<html>
<head>
<title>Challenge 1</title>
</head>
<body bgcolor=black>
<center>
<br><br><br><br><br>
<font color=white>
---------------------<br>
<?

$password
="????";

if(
eregi("[^0-9,.]",$_COOKIE[user_lv])) $_COOKIE[user_lv]=1;

if(
$_COOKIE[user_lv]>=6$_COOKIE[user_lv]=1;

if(
$_COOKIE[user_lv]>5) @solve();

echo(
"<br>level : $_COOKIE[user_lv]");

?>
<br>
<pre>
<a onclick=location.href='index.phps'>----- index.phps -----</a>
</body>
</html>


위 코드에서 보이듯 uesr_lv 란 쿠키의 내용이 5를 넘으면 @solve() 가 실행되어 문제가 해결됨을 알수 있습니다.

하지만 6이상의 숫자로 바꿀 시 uesr_lv 는 1이 되버리기 때문에 문제가 햇갈리게 되어버립니다.



댓글()