|
|
|
โค้ดตรวจหาไฟล์ที่ติดไวรัส iframe ครับ ตรวจหาเฉยๆ นะครับ ตรงส่วนแก้ไขไฟล์ที่ติดไวรัส ยังไม่ได้เขียนครับ |
|
|
|
|
|
|
|
ตรวจหาเฉยๆ นะครับ ตรงส่วนแก้ไขไฟล์ที่ติดไวรัส ยังไม่ได้เขียนครับ กลัวเขียนไฟล์แล้วเจ๊ง
ถ้าต้องการแก้ไขไฟล์เลย ลองโปรแกรม FizScript ของคุณ mean ครับ http://fizscript.ishare.in.th
แต่ผมใช้โปรแกรมเค้าไม่เป็นอ่า.. T-T เดี๋ยวต้องเขียนส่วนแก้ไขเองใช้ส่วนตัว
<?php
//settings
$root = dirname(__FILE__); //ตรวจหาที่ dir ของไฟล์ script นี้
$exts = array('.html','.htm','.php','.inc','.shtml','.js'); //ไฟล์ที่ต้องการตรวจหา
$words = array('iframe','unescape','eval','script','base64_decode'); //คำที่ใช้ในการหาไวรัส
//$words = array('iframe'); //ถ้าต้องการตรวจเฉพาะ iframe ให้ลบ // บรรทัดนี้ออกครับ
define('SORT_BY','dir'); // 'dir','name','type','modified' //เรียงลำดับการแสดงผลโดย
define('SHOW_SKIP_FILE',false); //แสดงผลชื่อไฟล์ที่ไม่ได้ทำการตรวจสอบ
define('SHOW_NON_DETECTED_FILE',false); //แสดงผลชื่อไฟล์ที่ตรวจไม่พบไวรัส
define('SHOW_ONLY_HIDDEN_IFRAME',true); //แสดงผลเฉพาะไฟล์ที่มีคำว่า hidden
define('SHOW_DIR',false); //แสดงชื่อ directory
ini_set("max_execution_time", "150"); //กำหนดระยะเวลาที่สามารถใช้ในประมวลผลไฟล์นี้
if (isset($_POST['showfile'])){
$f = $_POST['file'];
$data = htmlspecialchars(file_get_contents($f));
foreach($words as $w){
$data = str_ireplace($w,'<span style="color:blue">'.$w.'</span>',$data);
}
$data = str_ireplace('iframe','<span style="color:red">iframe</span>',$data);
header('Content-type:text/html;charset=tis-620');
echo '<div>',$data,'</div>';
die();
}
if (isset($_POST['savefile'])){
$f = $_POST['file'];
$data = file_get_contents($f);
//ผมยังไม่กล้าเขียนไฟล์คร้าบ
die();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="th" xml:lang="th">
<head>
<meta http-equiv="content-type" content="text/html; charset=tis-620" />
<title>virus iframe detection version 1.0a</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
//<![CDATA[
$(function(){
$('a[title]').click(function(e){
var title=$(this).attr('title');
var alink=$(this);
$('#file_content').load(
'?',
{showfile:'',file:title},
function(){
var ofs = alink.offset();
$('#file_name').text(title);
$('#file_info').css('top',ofs.top+20).show('slow');
}
);
e.preventDefault();
});
$('#close').click(function(e){
$('#file_info').hide('slow');
e.preventDefault();
});
});
//]]>
</script>
</head>
<body>
<div id="file_info" style="position:absolute;border:solid green 1px;background:lavender;display:none;">
<div ><a href="#" id="close">[close]</a></div>
<div id="file_name" style="border-bottom:solid green 2px;"></div>
<div style="background:ghostwhite;overflow:scroll;height:435px;width:970px;"><pre id="file_content"></pre></div>
</div>
<?php
//START PROGRAM
//load all file into array
$fs = array();
files($root);
//sort by modified
foreach ($fs as $key => $row) {
$modified[$key] = $row[SORT_BY];
}
array_multisort($modified, SORT_DESC, $fs);
unset($modifed);
//show file sorted by modified time
foreach($fs as $row){
extract($row);
$full = $dir.DIRECTORY_SEPARATOR.$name;
$report = '<br />'.$modified.' : '.$full;
if ($type == 'd') {
if (SHOW_DIR){
echo $report.', <b>DIRECTORY</b>';
}
} else {
if (!in_array(getExt($name),$exts,true)){
if (SHOW_SKIP_FILE){
echo $report.'<span style="color:blue"> SKIP</span>';
}
} else {
$s = file_get_contents($full);
$x = '';
foreach($words as $w){
if (SHOW_ONLY_HIDDEN_IFRAME){
if (stripos($s,'hidden') && stripos($s,$w)){
$x.= ($w=='iframe') ?'<b>:IFRAME</b>' :" :$w ";
}
}else{
if (stripos($s,$w)){
$x.= ($w=='iframe') ?'<b>:IFRAME</b>' :" :$w ";
}
}
}
if (empty($x)){
if (SHOW_NON_DETECTED_FILE){
echo $report;
}
} else{
echo $report.
'<a href="#" title="'.htmlspecialchars($full).
'"><span style="color:red">'.$x.'</span></a>';
}
}
}
}
//END PROGRAM
//funtionS
function files($dir) {
global $fs;
$d = dir($dir);
while (false !== ($entry = $d->read())) {
$f = $d->path.DIRECTORY_SEPARATOR.$entry;
if (!($entry == '.' || $entry == '..')){
$type = is_dir($f)?'d':'f';
$fs[] = array(
'type'=>$type,
'name'=>$entry,
'modified'=>date("Y-m-d H:i:s.",filemtime($f)),
'dir'=>$d->path
);
if ($type=='d'){
files($f);
}
}
}
$d->close();
}
function getExt($file_name) {
return '.'.substr(strrchr($file_name,'.'),1);
}
?>
</body>
</html>
Tag : - - - -
|
|
|
|
|
|
Date :
2009-05-22 15:32:23 |
By :
num |
View :
3452 |
Reply :
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2009-05-22 16:45:12 |
By :
zepherus |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดีๆครับ
ผมก้เคยติดไวรัสแบบนี้ตอนนี้หายไปแย้วอ่ะโปรแกรมไม่แจ้งเตือนแย้วว
|
|
|
|
|
Date :
2009-05-22 19:37:16 |
By :
stepby |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
บอร์ดผมติดนะครับ ช่วยที board.goosiam.com
|
|
|
|
|
Date :
2009-07-08 17:33:28 |
By :
d |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+1 สำหรับคนเก่งและคำแนะนำสิ่งดีๆให้ครับ
|
|
|
|
|
Date :
2009-07-08 20:54:21 |
By :
somparn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2009-07-08 21:17:54 |
By :
panyapol |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองไปที่เวป www.kaamania.com ดูซิคะ ช่วยเราได้ ไวรัสไม่กลับมากวนใจแล้วคะ
|
|
|
|
|
Date :
2009-09-27 15:31:45 |
By :
จุ๊บ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2009-09-27 19:05:23 |
By :
gummezaka |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณคร๊าบ พี่หนุ่มหล่อขั้นเทพ
|
|
|
|
|
Date :
2009-09-27 21:13:24 |
By :
NanoTHoro |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อย่าลืม backup ข้อมูลไว้ก่อนนะครับ ปลอดภัยไว้ก่อน แง่บๆ
|
|
|
|
|
Date :
2009-09-27 21:41:23 |
By :
NanoTHoro |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โหลดเวอร์ชั่นปกติได้จาก
http://fizscript.ishare.in.th ครับ
|
|
|
|
|
Date :
2009-11-30 03:50:54 |
By :
mean |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|