Wargame/LOS

LOS 2번 cobolt

D4tai1 2019. 9. 22.

Lord of SQLinjection

[그림1] Quest

 

 

오답

https://los.eagle-jump.org/cobolt_ee003e254d2fe4fa6cc9505f89e44620.php?id=admin%27%20or%201=1%23

 

$query "select id from prob_cobolt where id='{$_GET[id]}' and pw=md5('{$_GET[pw]}')"

$result = @mysql_fetch_array(mysql_query($query)); 

if($result['id'] == 'admin'solve("cobolt");

query변수에 sql문을 넣고

result변수는 sql구문을 넣고 실행하는 것을 말합니다.

 

if문에 $result['id']는?

get방식으로 얻어온 파라미터명이 id인 것의 값을 

넣어주고 쿼리문을 실행한 결과를 저장하지요.

 

결국 query문의 select는 id만 출력하기 때문에!!

 

결과론적으로 보면

URL파라미터의 id를 query문에 넣을 때 출력되는 id가

'admin'이면 True를 만들 수 있겠죠?

 

이어서 뒤에 주석으로 처리하기 위해 #을 했으나..

필터링되므로

여기서 URL incoding을 이용해서 %와 16진수를 함께 적어줍니다.

#은 0x23이네요.

 

정답

 

 

입력 시 결과

[그림2] Clear

'Wargame > LOS' 카테고리의 다른 글

LOS 5번 wolfman  (0) 2019.09.25
LOS 4번 orc  (0) 2019.09.24
LOS 3번 goblin  (0) 2019.09.22
LOS 1번 gremlin  (0) 2019.09.22

댓글