eli_ez3r
eli_ez3r
eli_ez3r
전체 방문자
오늘
어제
  • 분류 전체보기 (202)
    • 0x01 끄적끄적 :) (57)
      • Network (5)
      • Security (14)
      • Reversing (2)
      • Forensic (5)
      • Operation System (10)
      • Development (10)
      • Solution (7)
      • 보안 상식 (3)
    • 0x02 Study :) (127)
      • Pwnable (59)
      • Webhacking (56)
      • Reversing (11)
      • Machine Learning (1)
    • 0x03 ETC :) (16)
      • IT Unpacking (5)
      • IT Information (1)
      • Enjoy (4)
      • Etc (6)
    • Admin :) (0)
      • 0x01 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • github.io 블로그 개설

인기 글

태그

  • 풀이
  • 메모리
  • 암호
  • LEVEL
  • hacking
  • 과정
  • 공격
  • hacker
  • 스쿨
  • LOB
  • 해킹
  • 해커
  • BOF
  • buffer
  • hack
  • 문제풀이
  • password
  • overflow
  • hakcing
  • 설명
  • pwnable
  • attack
  • web
  • Up
  • 패스워드
  • school
  • 문제
  • write
  • 오버플로우
  • webhacking.kr

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
eli_ez3r

eli_ez3r

webhacking.kr Level 24 문제풀이
0x02 Study :)/Webhacking

webhacking.kr Level 24 문제풀이

2018. 7. 29. 09:33

Level 24




<?
extract($_SERVER);
extract($_COOKIE);

if(!$REMOTE_ADDR)
    $REMOTE_ADDR=$_SERVER[REMOTE_ADDR];

$ip=$REMOTE_ADDR;
$agent=$HTTP_USER_AGENT;

if($_COOKIE[REMOTE_ADDR])
{
    $ip=str_replace("12","",$ip);
    $ip=str_replace("7.","",$ip);
    $ip=str_replace("0.","",$ip);
}
echo("<table border=1><tr><td>client ip</td><td>$ip</td></tr><tr><td>agent</td><td>$agent</td></tr></table>");

if($ip=="127.0.0.1")
{
    @solve();
}

else
{
    echo("<p><hr><center>Wrong IP!</center><hr>");
}
?>

ip가 "127.0.0.1"이면 문제가 풀린다. $ip 에는 $REMOTE_ADDR 값이 들어가고 $agen 에는 $HTTP_USER_AGENT 값이 들어간다.




Fiddler를 이용해서 User-Agent값을 수정하여 보냈더니




위 처럼 나타났다. 그러면 ip값은 어떻게 가져올까...


코드를 좀더 살펴보니 $_COOKIE안에서 REMOTE_ADDR 을 가져오는 것 같다.




Cookie값에는 PHPSESSID 값 뿐이 없다. 그래서 혹시나 속는셈 치고 REMOTE_ADDR을 넣어봤다.




Olleh!!!


그런데 원하는 결과는 나오지 않았다.

 

if($_COOKIE[REMOTE_ADDR])
{
    $ip=str_replace("12","",$ip);
    $ip=str_replace("7.","",$ip);
    $ip=str_replace("0.","",$ip);
}

위 코드에서 문자를 치환시키는 것 같다. 따라서 저 조건과정을 거쳐서 완성된 IP가 127.0.0.1이 되면 될 것 같다.


112277..00..00..1 ➡️ 12를 치환 ➡️ 1277.00..00..1

1277..00..00..1 ➡️ 7. 을 치환 ➡️ 127.00..00..1

127.00..00..1 ➡️ 0. 을 치환 ➡️ 127.0.0.1



정답 : 쿠키값에 REMOTE_ADDR=112277..00..00..1 을 추가


저작자표시 비영리 변경금지 (새창열림)
    '0x02 Study :)/Webhacking' 카테고리의 다른 글
    • webhacking.kr Level 26 문제풀이
    • webhacking.kr Level 25 문제풀이
    • webhacking.kr Level 23 문제풀이
    • webhacking.kr Level 21 문제풀이
    eli_ez3r
    eli_ez3r

    티스토리툴바