본문 바로가기

워게임

los rubiya - 30(ouroboros)

진짜 어려웠습니다. 제가 알고 있는 지식이 하나도 안 통해서 거의 일주일 동안 해매다가 결국 인터넷에 찾아 봤습니다.

 

우로보로스

 

시작하겠습니다.

 

문제는 간단합니다.

 

그냥 pw을 찾으면 되는데.. admin의 것인지 누구 것의 pw을 찾으라는지 모르고 

 

또한 정해진 pw을 찾으면 된다는데.. 어렵습니다. 일단 그냥 뭐든 넘어갈 수 있게 OR 구문을 이용해봤습니다.

 

pw=1' OR 1=1 %23

 

 

답이 아니라하구요

 

또 union으로 간단하게 작성을 해봤습니다.

 

' union select 1 %23

 

pw하나의 컬럼만 들고오니깐 하나만 작성하면 되는 거죠.

 

이게 다 입니다. 계속 여기서 머물다가 결국 Quine SQL injection 이라는 새로운 지식을 찾았습니다.

 

Quine은 소스코드를 그대로 출력으로 반환하는 프로그램을 의미한다고 해요.

그러니깐 입력 값을 그대로 결과 값으로 반환하는 SQL Injection 입니다.

 

그러니깐 지금 이 문제의 답은 저희가 보내는 pw 값이랑 결과로 나오는 pw 값이랑 같아야지만 답인 상황이잖아요

 

그래서 저희가 입력한 값이 그대로 결과 값으로 나오면 그게 결국 입력값 이랑 보내는 값이 같아지니 답이 됩니다.

 

 

https://aboutsc.tistory.com/147

 

[SQLi] Quine SQL Injection

Quine SQL Injction 이란? : 위키백과에 따르면, Quine은 소스코드를 그대로 출력으로 반환하는 프로그램을 의미한다. 즉, Quine SQL Injection은 입력 값을 그대로 결과 값으로 반환하는 SQL Injection의 형태를

aboutsc.tistory.com

저는 여기서 참고 했어요

 

a' union select replace(replace('a" union select replace(replace("$",char(34),char(39)),char(36),"$") as pw%23',char(34),char(39)),char(36),'a" union select replace(replace("$",char(34),char(39)),char(36),"$") as pw%23') as pw%23

 

이대로 작성하면 답이 됩니다.

 

 

 

진짜..

어찌보면 간단한 문제인데 Quine 모르면 한 없이 모르는 문제였습니다 감사합니다.

'워게임' 카테고리의 다른 글

los rubiya - 31(zombie)  (0) 2023.08.17
los rubiya - 29(phantom) 풀이  (0) 2023.06.24
los rubiya - frankenstein(28번 문제)  (0) 2023.06.08
los rubiya - 27(blue dragon) 풀이  (0) 2023.05.31
los rubiya - 26(red_dragon) 풀이  (0) 2023.05.26