728x90
페이지를 보면 URL 주소를 입력을 했을 때, 그 주소에 대한 메인페이지를 크롤링해서 출력해 준다.
@app.route('/admin')
def admin_page():
if request.remote_addr != '127.0.0.1':
return "This is local page!"
return app.flag
소스 코드를 보면 /admin 경로로 이동을 할 때 127.0.0.1이 주소여야 하는 조건이 맞아야지 flag가 출력이 된다.
refere에 127.0.0.1로 수정을 하고 보내면 되겠다고 생각을 했다.
ip = lookup(urlparse(url).netloc)
if ip == False or ip =='0.0.0.0':
return "Not a valid URL."
res=requests.get(url)
if check_global(ip) == False:
return "Can you access my admin page~?"
for i in res.text.split('>'):
if 'referer' in i:
ref_host = urlparse(res.headers.get('refer')).netloc
if ref_host == 'localhost':
return False
if ref_host == '127.0.0.1':
return False
res=requests.get(url)
return res.text
소스 코드를 보면 referer 체크를 해서 이런 방법으로는 못 보낸다..
http://127.0.0.1:3333/admin을 보내려면 체크 부분을 우회를 해야 하는데,,, 생각나는 게 URL 단축해 주는 기능이다.
https://www.shorturl.at/ 사이트를 이용해서 해당 주소의 길이를 짧게 만들어주고 보내면 flag값을 얻을 수 있다.
'모의해킹 > Dreamhack' 카테고리의 다른 글
[wargame.kr] crack crack crack it (0) | 2023.11.20 |
---|---|
[wargame.kr] dun worry about the vase (0) | 2023.11.18 |
Tomcat Manager (0) | 2023.11.14 |
funjs (0) | 2023.11.13 |
weblog-1 (0) | 2023.11.11 |