60cms Cookies欺騙漏洞審計

 源碼地址:https://files.cnblogs.com/files/ssooking/60cms.ziphtml

 運行60cms目錄下的Netbox.exe便可開啓Asp Web服務,默認端口80web

 

環境搭建完畢以後便可訪問主頁數據庫

1.漏洞分析

首先,咱們分析 login.aspbash

  在admin目錄下找到login.asp,能夠發現登陸頁面的兩個Cookies字段名分別爲 cmsname 和 cmsidcookie

 繼續往下看session

  能夠看到,網頁會把輸入的管理員賬號和管理員ID分別賦值給cmsname和cmsid這兩個cookies值,若是密碼正確就會跳轉到後臺首頁,並添加上述的兩個cookies值.spa

  咱們再來看一下後臺首頁(index.asp)的源代碼,發現頭部引用了check.asp文件3d

  這個文件的做用應該就是對登錄操做進行驗證,咱們跟蹤分析其中的代碼。htm

<!--#include file="../inc/md5.asp"--><%
'判斷用戶是否登錄
if session("cmsname")="" and instr(CStr(Request.ServerVariables("SCRIPT_NAME")),site_install&AdminPath&"/login.asp")=0 then
	if request.Cookies("cmsname")="" then
		response.Redirect(site_install&AdminPath&"/login.asp")
	elseif Session("admin_id") =null then
     Response.Write("<script>alert('登錄超時!');parent.location = '"&site_install&AdminPath&"/login.asp';</script>")
	else
		session("cmsname")=request.Cookies("cmsname")
		session("cmsid")=request.Cookies("cmsid")
	end if
end if
%>

   這裏能夠看到,網頁雖然有驗證用戶登陸狀態,但只僅僅驗證了Cookies的內容,只要兩個Cookies的內容都對得上,就能訪問後臺首頁。咱們查看data目錄下的數據庫文件,發現60cms的默認管理員爲admin,默認管理員ID爲1blog

  所以咱們只要根據這兩個信息僞造Cookies,便可實現越權訪問後臺。

 2.漏洞利用

 在firebug中分別添加兩個cookie:cmsname,cmsid。

注意這裏的日期必定要修改超過當前時間,不然Cookies沒法添加

這樣就添加好了cookie

 此時咱們訪問http://localhost/admin則能夠直接以admin身份進入管理後臺

 

參考文章:

http://www.freebuf.com/articles/web/149232.html

相關文章
相關標籤/搜索