@@ -193,9 +193,13 @@ async def taskresult(self, request):
193193 def backdoor (request ):
194194 with open (LUA_FILE , 'r' ) as f :
195195 fcont = f .read ()
196+ h = request .host
197+ if ':' not in h :
198+ # fix for malformed Host header
199+ h += ':{}' .format (request .app ['port' ])
196200 fcont = fcont .replace (
197201 "local url = 'http://127.0.0.1:4343/'" ,
198- "local url = '{}://{}/'" .format (request .scheme , request . host )
202+ "local url = '{}://{}/'" .format (request .scheme , h )
199203 )
200204 return web .Response (text = fcont )
201205
@@ -214,16 +218,16 @@ def main():
214218 parser = argparse .ArgumentParser ()
215219 parser .add_argument ('module' , help = 'Module used as source for programs' )
216220 parser .add_argument ('--host' )
217- parser .add_argument ('--port' , type = int )
221+ parser .add_argument ('--port' , type = int , default = 8080 )
218222 args = parser .parse_args ()
219223
220224 app_kw = {}
221225 if args .host is not None :
222226 app_kw ['host' ] = args .host
223- if args .port is not None :
224- app_kw ['port' ] = args .port
227+ app_kw ['port' ] = args .port
225228
226229 app = CCApplication ()
230+ app ['port' ] = args .port
227231 app .initialize (args .module )
228232 web .run_app (app , ** app_kw )
229233
0 commit comments