336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
문제 이름 : goblin
소스코드
1
2
3
4
5
6
7
8
9
10
11
12
13 |
<?php
include "./config.php";
login_chk();
dbconnect();
if(preg_match('/prob|_|\.|\(\)/i', $_GET[no])) exit("No Hack ~_~");
if(preg_match('/\'|\"|\`/i', $_GET[no])) exit("No Quotes ~_~");
$query = "select id from prob_goblin where id='guest' and no={$_GET[no]}";
echo "<hr>query : <strong>{$query}</strong><hr><br>";
$result = @mysql_fetch_array(mysql_query($query));
if($result['id']) echo "<h2>Hello {$result[id]}</h2>";
if($result['id'] == 'admin') solve("goblin");
highlight_file(__FILE__);
?> |
cs |
문제를 보니 id값은 고정적으로 guest로 들어가있다.
하지만 해결을위해서는 id값을 admin으로 인식해야한다.
no값에 1값을 넣어보자
Hello guest 라고뜬다
이걸보고 알수있는건
no = 1 인값은 guest라는것이다
그럼 admin의 no는 2라고 간주해주고 쿼리를 줘보자
2 or id="admin"
필터링이된다.
if(preg_match('/\'|\"|\`/i', $_GET[no])) exit("No Quotes ~_~");
이코드를보면 ' , " , ` 죄다 필터링된다.
그러면 id값을 어떻게 admin으로 인식시키냐인거다.
찾아본결과 "admin" 문자열로 보낼필요없이 다른 형태로 보내주면된다.
hex로 보내던 ASCII로 보내던.
나는 ASCII 코드를 입력해주면 문자로 변환 해주는 함수를 이용해서 해결하였따.
'wargame > los.eagle-jump.org' 카테고리의 다른 글
wolfman (0) | 2017.07.03 |
---|---|
orc (0) | 2017.06.18 |
cobolt (0) | 2017.06.15 |
gremlin (0) | 2017.06.15 |
los 사이트 소개 (0) | 2017.06.15 |