Wargame/LOS
LOS 2번 cobolt
Lord of SQLinjection
오답
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이네요.
정답
입력 시 결과
'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 |
댓글