
24번 문제에서 view source를 누르면 위와 같은 소스 코드들이 나온다. 여기서 코드들을 훑어 보다가 맨 마지막 줄인
if($ip=="127.0.0.1"){
solve(24);
exit();
를 보고 24번 처음 들어갔을때 있던 ip의 값이 127.0.0.1이면 24번 문제가 풀리는 것 같았다. 그래서 ip를 어떻게하면 변경 할 수 있을까 생각을 해보았다.
Editthiscookie를 이용해 적혀져있는 ip값을 변경해보려고했다. 코드를 보면
$ip = $REMOTE_ADDR;
$agent = $HTTP_USER_AGENT;
if($REMOTE_ADDR){
$ip = htmlspecialchars($REMOTE_ADDR);
이므로 editthiscookie에서 name은 REMOTE_ADDR로 해주고 127.0.0.1을 입력했다.

입력했더니 ip에 있는 값이 1로 변했따?? 그래서 이유를 찾기 위해서 코드를 더 자세히 살펴보니 6번 문제 풀때 봤던 str_replace함수가 있다.
if($REMOTE_ADDR){
$ip = htmlspecialchars($REMOTE_ADDR);
$ip = str_replace("..",".",$ip);
$ip = str_replace("12","",$ip);
$ip = str_replace("7.","",$ip);
$ip = str_replace("0.","",$ip);
}
REMOTE_ADDR일떄 “..”->”.” , “12” -> “ ”, “7.”-> “ ”, “0.”-> “ ”으로 대체된다는 코드이다.
그래서 127.0.0.1을 입력했을떄 12는 공백으로 치환되고 7.도 공백 0.도 공백으로 치환되서 결과적으로 1만 남았던 것이다. 그래서 이를 해결하기 위해 112277...00...00...1를 입력해서 최종적으로 ip값이 127.0.0.1이 되도록 만든다. 성공!!!!

고찰: ip값을 127.0.0.1을 넣었을떄 갑자기 1이 나와서 당황했다. 지금까지 코드를 자세히 보지않고 문제푸는 방법에만 집중해서 풀었더니 이런 실수가 나왔던거 같다. 앞으로는 코드 한줄한줄을 자세히 파악해서 풀어야겠다 또한 editthiscookie에서 REMORE_ADDR 의 값을 변경하는데 값이 추가가 계속 안되서 cookie editor을 설치해 REMOTE_ADDR을 추가하는 방법으로 풀었다.
'Security > Web2 Hacking' 카테고리의 다른 글
| [WebHacking] suninatas 18번 (0) | 2022.04.21 |
|---|---|
| [WebHacking] webhacking.kr 33번 문제 풀이 (0) | 2022.04.21 |
| [WebHacking] webhacking.kr 32번 문제 풀이 (0) | 2022.04.21 |
| [WebHacking] webhacking.kr 17번 문제 풀이 (0) | 2022.04.21 |
| [WebHacking] webhacking.kr 6번 문제 풀이 (0) | 2022.04.21 |