# Simple HTTP Server with Upload I find myself needing to move files between computers in isolated networks quite often. I usually have very limited access to tooling and I've had to adapt creating interesting methods to do basic tasks. A simple approach I've found is to setup a http server that you can upload files to and just use a standard browser to transfer files. If I had python and the internet I could do: ``` pip install updog updog ``` ![](images/httpserver/updog.JPG) But I can't use pip in an isolated network and installing python is not ideal. Using pyinstaller you can however create an offline binary of updog: ``` pip install pyinstaller git clone https://github.com/sc0tfree/updog.git cd updog cd updog pyinstaller --onefile .\__main__.py ``` Here's a copy I made on Windows 10 with python 3.8: http://ku.nz/blog/files/updog.zip You'll notice it's a .zip. Updog by default saves to the current directory and expects the `static` and `templates` folder to be in the current directory as well. Bundling data into the exe is an option with "--add-data", but the code would need to be modified to have routes referencing the temp folder. https://stackoverflow.com/questions/51060894/adding-a-data-file-in-pyinstaller-using-the-onefile-option That sounds like work. As an all in one binary approach a while back I came across this project: https://gist.github.com/UniIsland/3346170 A single python script without any crazy dependencies, assets that need to be unzipped, and it works great. This is perfect. Be warned security is way out the window with this script :) Reading the git comments: ![](images/httpserver/comment0.JPG) https://0day.work/finding-an-arbitrary-file-upload-vulnerability-in-a-filesharing-script/ https://news.ycombinator.com/item?id=14333421 Further down in the comments I found: ![](images/httpserver/comment.JPG) https://github.com/Tallguy297/SimpleHTTPServerWithUpload/blob/master/SimpleHTTPServerWithUpload.py I compiled a copy of this guys code: http://ku.nz/blog/files/host.exe It should run without needing anything else and works great offline. ![](images/httpserver/host.JPG)