@app.route('/read') defread(): try: url = request.args.get('url') m = re.findall('^file.*', url, re.IGNORECASE) n = re.findall('flag', url, re.IGNORECASE) if m or n: return'No Hack' res = urllib.urlopen(url) return res.read() except Exception as ex: printstr(ex) return'no response'
@app.route('/flag') defflag(): if session and session['username'] == 'fuck': returnopen('/flag.txt').read() else: return'Access denied'
if __name__=='__main__': app.run( debug=True, host="0.0.0.0" )
分析源码可知 当访问 /flag 时 session [‘username’] == ‘fuck’ 可以直接获得 flag