티스토리 뷰
<?
echo("<a href=index_lolll.phps>source</a>");
// id에 대한 입력 값이 없을경우 guest로 지정
if(!$_GET[id]) $_GET[id]="guest";
echo("<html><head><title>Challenge 61</title></head><body>");
// 입력값에 대한 필터링(18글자 초과일 경우 & 아래의 키워드)
if(eregi("\(|\)|union|select|challenge|from|,|by|\.",$_GET[id])) exit("Access Denied");
if(strlen($_GET[id])>18) exit("Access Denied");
// 우리가 입력한 칼럼에 대하여 조회를 함
$q=@mysql_fetch_array(mysql_query("select $_GET[id] from c_61 order by id desc limit 1"));
echo("<b>$q[id]</b><br>");
// 쿼리의 결과가 admin이면 클리어
if($q[id]=="admin") @clear();
echo("</body></html>");
?>
61번의 소스이다.
(), union, select, challenge, from, , , by가 필터링되고 있다.
쿼리 부분을 보면 우리가 입력한 값에 대한 칼럼을 조회하고 있는 것을 볼 수 있다.
아마 이 문제는 mysql을 이제 막 배워가는 사람이 제일 잘 풀지 않을까 .... 하는 생각이 들었다
제일 처음 배울때 문자열 출력을 위해 select "admin" 이런식으로 해본 경험이 있을것이다.
그 결과는 admin이고, 컬럼명 또한 admin으로 나온다.
그러므로 우리는 alias라는 별칭 지정 기능을 활용하여 칼럼명을 id로 지정을 해주어야 한다.
select "admin" id
위 쿼리의 결과는 admin이며 컬럼명 또한 id로 나오는 것을 볼 수 있을것이다.
그렇다면 문제 쿼리의 입력값 부분에 "admin" id 를 입력하고 테스팅 해보자.
select "admin" id from c_61 order by id desc limit 1
컬럼명도 id가 될 것이며 쿼리의 결과도 admin이 될 것이다.
그러나 php의 매직쿼터의 영향으로 문자열을 보낼 수 없기 때문에 헥스코드로 보내주면 된다.
?id=0x61646d696e%20id
클리어 ~!
'워게임 > webhacking.kr' 카테고리의 다른 글
webhacking.kr 60번 (0) | 2019.05.07 |
---|---|
webhacking.kr 54번 (0) | 2019.05.04 |
webhacking.kr 52번 (0) | 2019.05.04 |
webhacking.kr 8번 (0) | 2019.05.03 |
webhacking.kr 49번 (0) | 2019.05.03 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 써니나타스 23번
- 해시 디코딩
- webhacking.kr 58번
- 써니나타스
- SuNiNaTaS 7번
- 써니나타스 22번
- Cent OS 8
- 써니나타스 8번
- webhacking.kr
- 써니나타스 7번
- 패스워드 파일 보호
- Cent OS8
- 써니나타스 4번
- webhacking.kr 42번
- Webhacking.kr 회원가입
- SuNiNaTaS2번
- SuNiNaTaS 8번
- SuNiNaTaS 6번
- SuNiNaTaS 22번
- SuNiNaTaS 23번
- Suninatas
- SuNiNaTaS 4번
- Root원격접속차단
- 패스워드 복잡도 설정
- 써니나타스3번
- SuNiNaTaS3번
- 써니나타스2번
- suninatas1번
- 써니나타스 6번
- 계정 잠금 임계값 설정
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함