D-Link DNS-323 Multiple Vulnerabilities
When one clicks in the 'Save To' textbox or the 'Browse' button, a popup appears with the directories on the 'Volume_1' share. When one clicks the '+' sign to open a directory, a POST request is sent to /goform/GetNewDir with the following parameters: fNEW_DIR, f_backup, f_IP_address, f_file. A directory traversal is possible via the fNEW_DIR variable, and we can browse not only the directories, but the files too with setting f_file to '1'. When one clicks the 'play button' on a scheduled download, a POST request is sent to /goform/right_now_d with the following parameter: T1. SCHEDULE<num> is injectable, so for example setting T1 to the following writes the output of the 'id' command to a file in the root directory: T1 <at job id>,SCHEDULE<num>,<user>,id > /mnt/Volume_1/../../id.txt