SUCTF 2019
Web
pythonnginx
้่ฟๆฅ็ๆบไปฃ็ ๅฏไปฅๅ็ฐไปฅไธๅ ๅฎนใ
@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? -->ๆฌ้ข้่ฆ็ป่ฟ็ฌฌไธๅฑๅ็ฌฌไบๅฑ็ๅๅๅคๆญ๏ผๅนถไธๅจ็ปๅไธๆฌก idna ็ผ็ ๅ็็ฌฌไธๅฑไธญๅ่ฆ็ฌฆๅ host ๅไธบ suctf.cc ๏ผidna ็ไพๅญๅฆไธใ
ๅ ๆญคๅฏไปฅ้่ฟ็ๆ็ฌฆๅทๆฅ็ป่ฟ็ฌฌไธๅฑๅ็ฌฌไบๅฑ็็ป่ฟๅนถไธๅ็ฌฆๅ host ๅไธบ suctf.cc ใๅๅ ไธบ้ข็ฎไธญๅ
ๅซๆ็คบ Do you know the nginx ๆ
้่ฆไป nginx ็็ธๅ
ณๆไปถไธญๆฅๆพ flag ๏ผๆๅๅฏไปฅๅจ /usr/local/nginx/conf/nginx.conf ไธญๆพๅฐ็ธๅ
ณไฟกๆฏ๏ผPayload ไปฅๅๅๆพๅฆไธๆ็คบใ
้่ฟๆ้ ไปฅไธ Payload ๅณๅฏๅพๅฐ flag ใ
Last updated