您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)Js文件追蹤到未授權(quán)訪問該怎么辦,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
幾乎每個系統(tǒng)都會存在各種各樣的驗證的功能.常見的幾種驗證功能就包括 賬號密碼驗證,驗證碼驗證,JavaScript
數(shù)據(jù)驗證及服務(wù)端數(shù)據(jù)驗證等,程序員在涉及驗證方法時可能存在缺陷導(dǎo)致被繞過,于是就有了驗證繞過漏洞.
在各大安全社區(qū)有師傅已經(jīng)發(fā)表了更加詳細(xì)的漏洞介紹,這里就不再闡述了.
昨天晚上閑的沒事,就在回顧自己Edusrc的歷史漏洞,看到某個注入繞過已修復(fù)的,順手點了進(jìn)去.利用之前的繞過手法進(jìn)行注入被攔截,還真修復(fù)了~
帶點不甘心的原因,對此站點繼續(xù)進(jìn)行漏洞挖掘.
打開網(wǎng)址: http://xxx.xxxx.com/login.do
依舊是熟悉的登陸框,文章開頭那篇文章的注入已經(jīng)被修復(fù)了.
大多數(shù)人的思路可能是:
1.暴力破解 2.抓登陸的POST包注入
再此面對此登陸框的話,捋一捋思路:
嘗試?yán)蒙洗巫⑷氲玫降拿艽a進(jìn)行登陸 -> 失敗 (不過也很正常,肯定會改的)
嘗試注入 (已修復(fù).修復(fù)方法: 在對傳入的賬號密碼進(jìn)行RSA加密,再判斷是否為正確,不是RSA的話直接返回False)
這就直接給我斷絕后路了?
不,并沒有
在翻看源碼Js文件的時候,找到一login.min.js,猜想是與登陸相關(guān)的接口文件.
我們繼續(xù)跟蹤具體內(nèi)容.
有部分內(nèi)容Unicode編碼,拿到網(wǎng)站上去解分析方便點
很明顯定義了三個變量來驗證:
a -> loginId (用戶名) b -> password (密碼) c -> verifycode (驗證碼)
看見有兩處接口url:
/frameword/login_login.do /frameword/login_toManage.do
分別訪問,第一處是登陸驗證,跳轉(zhuǎn)到了文章開頭那個登陸點.
在訪問第二處接口的時候,閃了一下后臺框架然后到一個空白界面,
出現(xiàn)邏輯問題可能從js中不好直接判斷,但是通過js訪問的此接口,菜x的第六感告訴我這里可能存在問題.
分析此處的Js.猜想出現(xiàn)問題點的可能是這幾條
post(baseUrl_+"/framework/login_login.do",{loginId:a,password:b,verifycode:c,abc:Math.random()}, function(a){"true"==a?window.location=baseUrl_+"/framework/login_toManage.do":" code Faild" ==a?
為何能訪問到該后臺框架? 讓我確信了此處肯定存在問題.
這就聯(lián)想之前看見定義的三個變量了.按我的理解來看的話,變量定義沒問題.
但是這里貌似只驗證了 loginId , 也就是 a
其中根據(jù)Js來判斷可能會出錯,但是Js中確實只對a進(jìn)行判斷然后直接得到后臺url.
那么我再對此分析進(jìn)行跟蹤進(jìn)行測試
賬號輸入admin
密碼隨意
用戶名輸入一個不存在的:123
密碼隨意
很正常,按著Js的邏輯走的,但是在我們輸入正確的用戶名,也就是剛剛說到的 a.再去手工訪問剛得到的后臺接口地址時.
直接得到了admin這個用戶的所有權(quán)限
很明顯只校驗了參數(shù) a. 成功進(jìn)入后臺
后臺多處功能點,文件上傳未校驗.
然后就是很普遍的流程
文件上傳 -> Getshell
上述就是小編為大家分享的Js文件追蹤到未授權(quán)訪問該怎么辦了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。