본문 바로가기
웹 해킹

[webhacking] 6번 풀이

by u0jin 2019. 10. 3.

코드를 해석하면 답이나온다


밑에서 부터 해석을 하면 좀더 쉽게 빠르게 해결이 가능하다.


if($decode_id=="admin" && $decode_pw=="nimda"){
  
solve(6);

} 

이 코드를 보면 decode id = admin 이고 decode_pw =nimda 인경우 문제를 해결할수 있다고 나온다.


좀더 위의 코드를 보면,

$decode_id=$_COOKIE['user'];

$decode_pw=$_COOKIE['password'];


$decode_id=str_replace("!","1",$decode_id);
$decode_id=str_replace("@","2",$decode_id);
$decode_id=str_replace("$","3",$decode_id);
$decode_id=str_replace("^","4",$decode_id);
$decode_id=str_replace("&","5",$decode_id);
$decode_id=str_replace("*","6",$decode_id);
$decode_id=str_replace("(","7",$decode_id);
$decode_id=str_replace(")","8",$decode_id);

$decode_pw=str_replace("!","1",$decode_pw);
$decode_pw=str_replace("@","2",$decode_pw);
$decode_pw=str_replace("$","3",$decode_pw);
$decode_pw=str_replace("^","4",$decode_pw);
$decode_pw=str_replace("&","5",$decode_pw);
$decode_pw=str_replace("*","6",$decode_pw);
$decode_pw=str_replace("(","7",$decode_pw);
$decode_pw=str_replace(")","8",$decode_pw);

for(
$i=0;$i<20;$i++){
  
$decode_id=base64_decode($decode_id);
  
$decode_pw=base64_decode($decode_pw);
}


 Cookie 의 user와 pass를 각각 변수에 저장하고 str_replace 함수 를 이용하여 변경후 ,  해당 값을 20번 반복해주면 된다.


여기서 다시 맨 밑의 조건으로 시작하면 문제가 풀린다

admin 을 인코딩 하면 YWRtaW4=  이된다.

nimda 를 인코딩 하면 bmltZGE=  이된다.

 YWRtaW^=bmltZGE= 



'웹 해킹 ' 카테고리의 다른 글

[webhacking] 58번 풀이  (0) 2020.03.22
[webhacking] 24번 풀이  (0) 2019.10.04
[webhacking] 15번 풀이  (0) 2019.10.02
[webhacking] 17번 풀이  (0) 2019.09.24
[webhacking] 16번 풀이  (0) 2019.09.24

댓글