介绍CSRF漏洞如何对路由器内的设定进行修改,将路由器的DNS服务器修改为攻击者所伪造的DNS服务器,使受害者上网的行为暴露在攻击者的监控之下,并且介绍使用者如何避免路由器提拱的服务成为攻击者成功攻击的受害者。
路由器为了方便使用者设定参数,提供了以网页形式来设定参数,这也导致了路由器本身具有沦为CSRF攻击目标的风险,Cross-Site Request Forgery (CSRF) 是一种常见的网页攻击手法,透过将使用者使用网络时并未登出或仍持有Session、Cookie等身份验证,再将使用者引导至恶意网站上,让使用者在保持身份已验证过的状态下去执行损害自身利益的事[2],在路由器上则是会出现参数被攻击者随意修改的风险,除了会泄露出使用者的个人资料以外,也可能会成为攻击者监视的对象,更进一步可能会被伪造封包进行非法行为。
在网络上人们是透过token,一种可以作身份证明的字节,除了证明使用者是具由权限去从事符合权限的事,也代表使用这个token的人只会是使用者,当使用者触发攻击者设下的攻击指令时,攻击指令会透过使用者尚未登出的 token 来绕过认证,借此在路由器上修改设定,进一步将DNS设为伪造的DNS,攻击者透过伪DNS来对使用者所发出的封包进行监控,更进一步的可以对封包进行修改。
在使用者触发攻击指令以前,路由器的DNS设定如下,IP位置为8.8.8.8,当使用者在没有登出路由器时,误触了图三的按钮时,路由器的DNS设定则会从IP位置为8.8.8.8变为图五的192.168.0.1,表示攻击已成立。
对于使用者来说,可以透过以下的方式来避免路由器提拱的服务成为CSRF的受害者:
1. 更改路由器预设的密码。
2. 使用完记得登出,在登出前不开启来路不明的网站。