PDA

View Full Version : 1 số kinh nghiệm security !



thanhbinh_88
02-12-2008, 14:46
Hôm nay mình xin viết và sưu tầm một số bài về Security ,
Trước tiên để security thì bạn phải biết các lỗ hổng về bảo mật.
Các hacker (trung bình ) thì thường tấn công qua các lỗi sau :
1, Đoán pass
2, By pass (sql injection)
3, Sql injection
4, Session, cookie, by login page.
5, Local hack
6, Setup file
7, DDos

1, Đoán pass : Vấn đề này nghĩ nó đơn giản, nhưng do bất cẩn của một số admin, khiến hacker có thể xâm nhập vào trang quản trị , up shell -> Local cả server .
Victim nhận dạng : Trang web mới cài đặt xong, các website demo (Không hack trang demo chỉ hack các trang nằm chung server của nó)

Giải quyết : Đặt pass khó. Đã có 1 bài trên diễn đàn về đặt pass
http://diendanspkt.net/showthread.php?t=770

2, By pass + 3, Sql injection :

Sql injection là j` , Nó là nỗi query từ dòng slq injection .
Vd : Select * from table diendanspkt.net where username='"&request.form("thanhbinh")" & .....
Ở lỗi này mình sẽ post user name : 'or '1=1
=> Dòng query : Select * from table diendanspkt.net where username=''or'1=1.....

username = Rổng hoặc 1=1 (true) !
Security : http://diendanspkt.net/showthread.php?t=683 (metamon)
Với bài trên ta có thể khắc phục triệt để sqlinjection ( theo mình là vậy)

Để tiện theo dõi mình leech nó qua :


<%

Function EscapeQuotes(sInput)
sInput = replace(sInput, " ' ", " ' ' ")


EscapeQuotes = sInput


End Function
%>

Trước khi gởi tới dòng sql string, bạn hãy chuẩn hóa thông tin bằng hàm EscapeQuotes
Hoặc : trong dòng query bạn thêm vào : username ='"&replace(request.form("diendanspkt.net","'",""")
Để tránh các injection khác , trong bài metamon còn 1 code :

<%

Function KillChars(sInput)
dim badChars
dim newChars
badChars = array("select", "drop", ";", "--", "insert", "delete", "xp_")
newChars = strInput
for i = 0 to uBound(badChars)
newChars = replace(newChars, badChars(i), "")
next
KillChars = newChars
End Function
%>
Và một vấn đề nữa, bạn không nên sử dụng Dòng query select *, khi lập trình bạn nên select các column và table cần lấy record mà thôi.

4,Session, cookie, by login page
By Login Page
Khi bạn tạo trang admin control có một số admin mắc một số sai lầm nghiêm trọng, đó là chỉ check login ở 1 vài trang trong admin, thường bỏ qua trang upload và một số trang post bài .
Vd: Bạn có trang admin : www.victim.com/admin/
Thì bạn có thể đoán : www.victim.com/admin/upload.php |upload.asp ...v....
Hoặc đối với các website sử dụng các bộ upload : fckeditor, innova, assetmanager ..v..
Bạn tham khảo bài ở :
Bub assetmanager : http://diendanspkt.net/showthread.php?t=932
Fckeditor : http://diendanspkt.net/showthread.php?t=744

Session , Cookie :
-Cookie: Các code tạo cookie là chạy trên server nên tương đối an toàn, nhưng các code này nếu lộ ra sẽ rất nguy hiểm, vì chúng ta có thể chạy trên localhost để tạo cookie sau đó chép đè vào cookie cũ (victim)
-Session: Chỉ hack được khi nào có shell trên server( đã hack rồi, nhưng chưa vào d.c trang admin)
Fix:
Login page: Tạo 1 trang check login , include ở tất cả các trang (check cookie + session)
Cookie: Chúng ta nên áp dụng cả 2 cái cookie + session. Đặc biệt đối với cookie ta nên tạo 1 usercode nằm trên database với 1 số kí tự random, một user sẽ có 1 code, mỗi lần login thì cookie sẽ đươc chèn cái usercode này. Khi bạn share source nhớ đối cái user code này nha.
Bạn sử dụng session với cookie thì mình nghĩ những việc hack này rất khó.


Code chèn vào khi login thành công :
Session("diendanspkt.login")=1

Code check :
if session("diendanspkt.login") <> 1 then
response.redirect("logoutdiendanspkt.asp")
end if

Time out :
Session.timeout = 1800 (không nhớ rõ, sai bà con thông cảm)


Setup file
Thông qua các file cài đặt vd : bigdum.php , install.php ...v..
Cách khắc phục : Cài xong thì bạn xóa nó

Localhack:
Hack từ các website cùng server, by safemode// Cách này khá thông dụng, video clip rất nhiều :
http://spktdata.webng.com/imissuwhy%20(1).rar /Made in tự tui !
Cách khắc phục :
Chmode Các folder ở chế độ 101, các file ở 644 // Chạy không được thì ráng mà chịu :deathhead:
DDos :
http://diendanspkt.net/showthread.php?t=871

Final !

Alex0511
02-12-2008, 20:17
Bài post đọc cũng vui mắt. Đọc xong vào http://diendanspkt.net/showthread.php?t=871 này thì bị firewall và login nên tắt luôn. Thề ko quay lại.

NSViet
07-01-2009, 22:04
Bài viết quá đơn giản, quá sơ sài. Mục đích chính chắc là để "quẳng" bá web.

bkis
07-01-2009, 22:09
hehe .

huongle078
09-01-2009, 11:10
Hì hay đó chứ :D . http://diendanspkt.net/showthread.php?t=871 nghe bác Alex nói cũng chùn lun :D

magic1000
09-01-2009, 11:37
Đều là những cái đã biết. Có cái gì mới hơn ko?

BossFTP
10-01-2009, 09:40
Chmode Các folder ở chế độ 101, các file ở 644

Chmod folder 0701, file 0604

ambvn
10-01-2009, 22:19
thiếu thiện cảm, toàn link qua cái forum kia và toàn bắt reg, thôi, bái bai :P

MyLifeForShare
10-01-2009, 22:34
thiếu thiện cảm, toàn link qua cái forum kia và toàn bắt reg, thôi, bái bai :P

Cũng thật bó tay, không hiểu nhiều thành viên mà ít bài viết thì cũng có làm được đâu :(

nguoitamky
10-01-2009, 22:45
bó tay, nhìn link là biết bắt đăng ký để đọc những cái có thể mình biết rồi :D Thôi bye bye!

umihira
12-01-2009, 23:36
kiểu này là mún tăng 1 tí thành viên đây mà

thanhbinh_88
03-06-2009, 07:17
Thật ra chỉ có firewall làm j` có reg nick.
Thứ 2 đây cũng là mục đích tăng rank trên google . Vì mọi người goolge nó bắt link diễn đàn như thế nào.
Thiết nghĩ nếu các bạn là 1 webmaster sẽ hiểu việc tôi làm.
Còn việc tăng member thì tôi ko cần !
Thank , nếu có j` sai sót các bạn hãy bỏ wa

soft360.vn
03-06-2009, 08:18
cơ bản để mường tượng ra là được roài, ai có nhu cầu tìm hiểu kỹ hơn thì tìm hiểu tiếp.