<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          拿下了一個美女圖片網(wǎng)站

          共 3163字,需瀏覽 7分鐘

           ·

          2022-04-12 04:46


          相關(guān)閱讀:一款神仙接私活低代碼平臺,吊到不行(附源碼)

          來自:FreeBuf.COM,起于凡而非于凡

          鏈接:https://www.freebuf.com/articles/web/250308.html


          說明


          本文只是介紹一些很簡單的思路。而這些思路想要成功實(shí)現(xiàn),基本就需要網(wǎng)站創(chuàng)建者犯一些低級的錯誤了。

          這有些類似于初中、高中的一些數(shù)學(xué)題,數(shù)學(xué)沒及格的人,也可以用用帶入特殊值這個方法,比如帶入0、1等等特殊值,雖然比較無腦,但偶爾還真能拿到分。


          PS:本文僅用于技術(shù)研究與討論,嚴(yán)禁用于非法用途,違者后果自負(fù)


          過程

          某天在無聊的瀏覽網(wǎng)頁的過程中,偶然間,偶然的點(diǎn)進(jìn)了某個美女圖片網(wǎng)站。

          想著也是無聊,就隨便看看唄。

          結(jié)果一個圖集就放出3張圖,剩余的就要VIP(充錢),太可惡了!

          無聊的我就想看看能不能繞過限制,直接看到整個圖集。



          基本判斷


          這個網(wǎng)站看上去沒有使用一些現(xiàn)成的網(wǎng)站框架,比如wordpress,所以有可能出現(xiàn)低級錯誤。

          如果使用的是網(wǎng)站框架,那我基本就直接放棄了,低版本框架雖然會有通用的漏洞(我沒能力利用),但低級錯誤基本沒有的。

          先創(chuàng)建了個賬戶,登錄之后查看了下存儲,發(fā)現(xiàn)沒有使用cookie,反而使用了sessionStorage和localStorage:


          cookie



          sessionStorage



          localStorage:略,沒什么有價值的內(nèi)容。

          從這里以及文章最開始的圖來判斷,這個網(wǎng)站使用了不少前端的東西,很可能有些功能就是在前端實(shí)現(xiàn)的,或者使用了ajax技術(shù)。


          登錄、權(quán)限認(rèn)定


          登錄賬戶后,先判斷圖集加載頁面怎么認(rèn)定用戶的權(quán)限的,看看會不會用到sessionStorage的uid或者token。


          這里就要介紹下怎么使用火狐瀏覽器分析前端的代碼了。


          按F12打開開發(fā)者工具,然后按照圖中的說明,查看加載圖集頁面時所發(fā)起的ajax請求:



          從上圖得知,一共發(fā)起了4次ajajx請求,根據(jù)相應(yīng)的內(nèi)容,getContentInfo接口返回了圖集的數(shù)據(jù)。



          從url這個字段來看,也剛好返回了3個圖片的url(用英文逗號分隔即可),也就是可以免費(fèi)看的那3張圖。

          那看看發(fā)起請求的代碼是怎么樣的吧,選中堆棧跟蹤,可以看到請求代碼的調(diào)用過程,從下至上:



          意思就是,在windows.onload中調(diào)用了getContentInfo函數(shù),getContentInfo函數(shù)中又調(diào)用了ajaxGetUser函數(shù)……

          具體的位置,我們通過點(diǎn)擊堆棧跟蹤函數(shù)名右側(cè)的藍(lán)色鏈接,就可以直接跳轉(zhuǎn)過去:



          window.onload



          getContentinfo



          這里可以看到傳入了一個object,就是getData,里面的token就是sessionStorage的token:



          至于cid,就是圖集的id,這里我懶得去找在哪賦值的了。

          如果前端代碼編寫不規(guī)范(比如這里對前端代碼都沒有混淆),那么變量很可能暴露在全局環(huán)境中。

          直接在開發(fā)者工具的控制臺中輸出cid就能看到值了:

          那其實(shí)到這我又沒法進(jìn)行下去了,傳入token是為了判斷用戶身份,傳入cid是判斷是哪一個圖集。

          而對于token我也沒辦法對它做什么事情,也沒法冒充其他用戶的身份。

          如果他傳入的是uid,也就是用戶id,那倒還可以試一試。

          最后跟著代碼走下去的結(jié)果果然是這樣,沒有什么可以插手的地方。


          碰運(yùn)氣


          我的思路都是建立在對方犯低級錯誤的前提下的,那么這種不在后端實(shí)現(xiàn)全部的數(shù)據(jù)處理,而是在前端實(shí)現(xiàn),限制對方觀看的某些資源的,還有哪些低級錯誤呢?

          想了下,有沒有可能接口返回的數(shù)據(jù)是完整的,然后只是用js代碼將其隱藏而已……

          但是最開始查看的返回數(shù)據(jù)的時候,返回的圖片的url就3個:



          哦,另外,圖片的加載雖然不需要任何權(quán)限,基本沒有多少的防盜鏈措施(意思就是可以直接通過圖片地址訪問圖片),但圖片的地址是沒有規(guī)則可言的,如果是按照數(shù)字順序命名,那就可以直接獲取到整個圖集的圖片了。

          我不死心,把所有的字段都看了遍,還真有發(fā)現(xiàn),在圖集的下面,有一個推薦圖片:



          所以也返回了這部分的數(shù)據(jù):



          點(diǎn)開一看,終于發(fā)現(xiàn)低級錯誤了,url沒做處理,返回了整個圖集圖片的url:



          也就是說,雖然這頁面的圖集本身的其余圖片我沒法看到,但是它頁面中推薦的圖集的圖片我全都可以看到:



          注意:直接使用圖片地址其實(shí)還是不能查看到圖片,需要在地址后面加上一個參數(shù):


          但是這個參數(shù)每次登錄后都是固定的,可以從localStorage中得到,也可以從免費(fèi)可觀看的圖片地址中得到,意義不大。


          弱口令


          理論上有這招就可以把查看到大部分圖集的所有圖片了,不過我不是無聊嗎,又閑著看了看有沒有其他可以做的。

          在圖集的下面,有一個評論區(qū),當(dāng)然,也是接口返回的數(shù)據(jù)。

          在這里還是沒進(jìn)行處理,把所有評論用戶的用戶名全暴露了(手機(jī)號碼),當(dāng)然這些客戶的口令一般也不會出現(xiàn)很弱的口令,所以我沒去嘗試。

          但是上傳這些圖集的賬戶的口令,那就不好說了,關(guān)注圖集上傳者后


          在個人主頁的關(guān)注部分,接口返回的數(shù)據(jù)中依然沒進(jìn)行處理,可以直接看到被關(guān)注者的用戶名:



          我也就隨便一試,居然還真使用了弱口令,下圖是登錄成功后”我的作品“頁面:



          點(diǎn)擊一個作品進(jìn)去,顯示已購買:



          對后臺管理的滲透


          這個就不截圖詳細(xì)說明了,思路和上面的差不多,也主要是發(fā)現(xiàn)對方在前端的低級錯誤。

          僅僅知道登錄頁面A的地址,然后查看登錄頁面的Js文件。

          發(fā)現(xiàn)登錄成功后使用js進(jìn)行跳轉(zhuǎn),跳轉(zhuǎn)到主頁面B,并且登錄成功后的在sessionStorage中設(shè)置了一些字段。

          先直接訪問主頁面B,發(fā)現(xiàn)會先將頁面的框架加載完畢后,再跳轉(zhuǎn)回頁面A。

          由此可以得出判斷,B頁面的跳轉(zhuǎn)語句和A頁面差不多,都是使用Js語句實(shí)現(xiàn)的。

          禁用Js功能,再進(jìn)入B頁面,發(fā)現(xiàn)果然停止了跳轉(zhuǎn)。

          但是雖然頁面框架正常加載,但卻沒載任何數(shù)據(jù)。

          查看B頁面加載的Js文件,在跳轉(zhuǎn)回A頁面的代碼前后找到了判斷語句,使用sessionStorage中的字段進(jìn)行判斷。

          于是設(shè)置sessionStorage中的相關(guān)字段,繞過了登錄的過程,數(shù)據(jù)正常加載了,達(dá)到了滲透的目的。


          感想


          其實(shí)從開發(fā)的角度,如果要保證代碼至少在邏輯方面沒有明顯的漏洞,還是有些繁瑣的。

          舉個簡單的例子,如網(wǎng)站的數(shù)據(jù)檢驗(yàn)功能,不允許前端提交不符合當(dāng)前要求規(guī)范的數(shù)據(jù)(比如年齡文本框部分不能提交字母)。

          那么為了實(shí)現(xiàn)這個功能,首先開發(fā)者肯定要在前端實(shí)現(xiàn)該功能,直接在前端阻止用戶提交不符規(guī)范的數(shù)據(jù),否則用戶體驗(yàn)會很差,且占用服務(wù)器端的資源。

          但是沒有安全意識或覺得麻煩的開發(fā)者就會僅僅在前端用Js進(jìn)行校驗(yàn),后端沒有重復(fù)進(jìn)行校驗(yàn)。

          這樣就很容易給惡意用戶機(jī)會:比如不通過前端頁面,直接向后端接口發(fā)送數(shù)據(jù):或者,前端代碼編寫不規(guī)范,用戶可以直接在瀏覽器控制臺中用自己寫的Js代碼覆蓋原有的Js代碼;或者,用戶還可以直接在瀏覽器中禁用Js;等等??傊?,前端的傳過來的數(shù)據(jù)可信度基本上可以認(rèn)為比較低,太容易被利用了。

          而我的思路都是很簡單的,就是關(guān)注比較重要的幾個節(jié)點(diǎn),看看有沒有可乘之機(jī)。
          如登錄、權(quán)限判定、數(shù)據(jù)加載等前后,對方是怎么做的,用了什么樣的技術(shù),有沒有留下很明顯的漏洞可以讓我利用。

          像這兩個網(wǎng)站,加載的Js文件都沒有進(jìn)行混淆,注釋也都留著,還寫得很詳細(xì)。比較湊巧的是,這兩個網(wǎng)站都用到了比較多的前端的技術(shù),也都用到了sessionStorage。

          特別的,它們都把很多的業(yè)務(wù)功能放在前端實(shí)現(xiàn),于是存在明顯漏洞的可能性就比較大,就值得我去嘗試。



          -End-

          1、985副教授工資曝光

          2、心態(tài)崩了!稅前2萬4,到手1萬4,年終獎扣稅方式1月1日起施行~

          3、雷軍做程序員時寫的博客,很強(qiáng)大!

          4、人臉識別的時候,一定要穿上衣服?。?/a>

          5、清華大學(xué):2021 元宇宙研究報告!

          6、績效被打3.25B,員工將支付寶告上了法院,判了

          瀏覽 37
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美一役二级三级视频 | 日韩特黄 | 久久精品大香蕉 | 免费高清不卡a无码 | 求欧美精品网址 |