歡迎光臨, 訪客. 請先 登入註冊一個帳號.
十一月 01, 2024, 07:37:37 上午
19595 文章 在 3865 主題 由 4579 會員
最新註冊會員: aa123aa1
LifeType 中文開發論壇  |  支援  |  使用與操作  |  [ 疑問 ] 可能已經有機器人可以突破 authimage 的防護了 « 上篇主題 下篇主題 »
頁: [1]
作者 主題: [ 疑問 ] 可能已經有機器人可以突破 authimage 的防護了  (閱讀 17284 次)
jerome
新手見習
*
文章: 42



檢視個人資料 個人網站
« 於: 八月 11, 2006, 11:35:54 下午 »

最近看朋友的網誌,是我在管理的,發現有幾個留言,這幾個留言很有趣,都是一堆亂碼,本來以為是訪客隨意留言的,但是看了一下,有幾個特點:
1. 時間很接近
2. 都是連結到 google
3. 留言都是亂打的
4. 都有留下標題(這一點很重要,因為我看過其餘的,會留的不多)

最後我去後台看了一下 IP,分別來自三個地方的不同 IP,那這個行為模式,也未免太巧合了?
程式碼:
標題 內文 作者 日期 狀態 IP 動作 
  620q3x6qx6  wmd3koxi  0opbn93z9  11/08/2006 23:57  正常迴響  218.177.126.64     
  w59tq  n8jidwafpot8qbt94lufr884 0ur2h1zs  11/08/2006 23:33  正常迴響  85.155.132.20     
  3puggcfi  d7vsbwm88ddo1vwsyhhzh0955  im02lu6di  11/08/2006 23:32  正常迴響  85.155.132.20     
  kjgfgj  fdlskjfkldsfdjsf  hgsdghjg  11/08/2006 23:28  正常迴響  195.234.200.33   
   

因為這些巧合,我在想,是不是已經有機器人,可以突破 authimage 的防護了?
目前這個 blog ,除了  四位數的 authimage 防護,還有加裝 bad-behavior

提供給各位做為參考
已記錄

歡迎光臨,惡人最多之 BeB
http://beb.anyday.com.tw/
lss
我不是被~拉~~出來的,不要叫我大大!
總版主
超級會員
*****
文章: 1511



檢視個人資料 個人網站
« 回覆文章 #1 於: 八月 12, 2006, 07:53:47 下午 »

hi jerome:

因為你留的連結是管理介面裡的連結,看不到  -_-|||

不過,根據你的描述,我想跟我先前遇到的是一樣的情形。我的站最早是沒做任何反圾垃留言的措施的,後來我用了 authimage 外掛後就沒再發生過了。如果你說的那個 blog 確定已經受到 authinmage 和 bad-behavier 的保護還被突破的話,看來,這個圾圾機器人已經進化了。

煩你持續觀察,如果那個 blog 還持續受到相似的干擾,請繼續的貼出來大家一起討論看看是否有解決之道。

也請有相同狀況的朋友們一起參與討論。

lss
已記錄

沒找過 常見問題集或不知道 如何在 LifeType 中文開發論壇發問的人,恕不回答問題
jerome
新手見習
*
文章: 42



檢視個人資料 個人網站
« 回覆文章 #2 於: 八月 12, 2006, 08:31:16 下午 »

hi jerome:
因為你留的連結是管理介面裡的連結,看不到  -_-|||

我居然發生這種事  吐舌頭 吐舌頭
原文在這裡啦!
http://wiselyview.net/blog/index.php?op=ViewArticle&articleId=621&blogId=1
我特別請他別砍掉,看看後續
已記錄

歡迎光臨,惡人最多之 BeB
http://beb.anyday.com.tw/
CrazyLion
初級會員
**
文章: 53



檢視個人資料 個人網站
« 回覆文章 #3 於: 八月 12, 2006, 08:39:58 下午 »

我沒看過lifetype的 captcha 不過從 PWNtcha 看起來,很多應該都會被破掉。不知道這些壞人是不是已經實做這些技術了....

看到了,跟網頁中得比起來,這應該很好破...
已記錄
jerome
新手見習
*
文章: 42



檢視個人資料 個人網站
« 回覆文章 #4 於: 八月 12, 2006, 09:30:43 下午 »

我沒看過lifetype的 captcha 不過從 PWNtcha 看起來,很多應該都會被破掉。不知道這些壞人是不是已經實做這些技術了....

看到了,跟網頁中得比起來,這應該很好破...

剛剛去把 log 拿出來看了一下
有兩個 IP 的行為是很有趣的

引用
195.234.200.33 - - [11/Aug/2006:23:27:15 +0800] "GET /blog/templates/new_wisely/toolbar.js HTTP/1.1" 304 - "http://trysearch.net/botblog/php8.php" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
195.234.200.33 - - [11/Aug/2006:23:27:23 +0800] "GET /blog/templates/new_wisely/css/default.css HTTP/1.1" 304 - "http://trysearch.net/botblog/php8.php" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
195.234.200.33 - - [11/Aug/2006:23:27:24 +0800] "GET /blog/plugins/smileys/js/smileys/smileys.js HTTP/1.1" 304 - "http://trysearch.net/botblog/php8.php" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
195.234.200.33 - - [11/Aug/2006:23:27:43 +0800] "GET /blog/index.php?op=ViewArticle&articleId=621&blogId=1 HTTP/1.1" 200 16406 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
195.234.200.33 - - [11/Aug/2006:23:27:45 +0800] "GET /blog/templates/new_wisely/toolbar.js HTTP/1.1" 304 - "http://wiselyview.net/blog/index.php?op=ViewArticle&articleId=621&blogId=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
195.234.200.33 - - [11/Aug/2006:23:27:46 +0800] "GET /blog/js/cookie/cookie.js HTTP/1.1" 304 - "http://wiselyview.net/blog/index.php?op=ViewArticle&articleId=621&blogId=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
195.234.200.33 - - [11/Aug/2006:23:27:50 +0800] "GET /blog/templates/new_wisely/css/default.css HTTP/1.1" 304 - "http://wiselyview.net/blog/index.php?op=ViewArticle&articleId=621&blogId=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
195.234.200.33 - - [11/Aug/2006:23:27:51 +0800] "GET /blog/plugins/smileys/js/smileys/smileys.js HTTP/1.1" 304 - "http://wiselyview.net/blog/index.php?op=ViewArticle&articleId=621&blogId=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
195.234.200.33 - - [11/Aug/2006:23:27:56 +0800] "GET /blog/index.php?op=AuthImageShow&blogId=1 HTTP/1.1" 200 2230 "http://wiselyview.net/blog/index.php?op=ViewArticle&articleId=621&blogId=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
195.234.200.33 - - [11/Aug/2006:23:28:33 +0800] "POST /blog/index.php HTTP/1.1" 302 - "http://wiselyview.net/blog/index.php?op=ViewArticle&articleId=621&blogId=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"
195.234.200.33 - - [11/Aug/2006:23:28:34 +0800] "GET /blog/index.php?op=ViewArticle&articleId=621&blogId=1 HTTP/1.1" 200 16669 "http://wiselyview.net/blog/index.php?op=ViewArticle&articleId=621&blogId=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"


85.155.132.20 - - [11/Aug/2006:23:31:54 +0800] "GET /blog/index.php?op=ViewArticle&articleId=621&blogId=1 HTTP/1.1" 200 16669 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
85.155.132.20 - - [11/Aug/2006:23:32:02 +0800] "POST /blog/index.php HTTP/1.1" 302 - "http://wiselyview.net/blog/index.php?op=ViewArticle&articleId=621&blogId=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
85.155.132.20 - - [11/Aug/2006:23:32:02 +0800] "GET http://wiselyview.net/blog/index.php?op=ViewArticle&articleId=621&blogId=1 HTTP/1.1" 400 951 "http://wiselyview.net/blog/index.php?op=ViewArticle&articleId=621&blogId=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
85.155.132.20 - - [11/Aug/2006:23:33:38 +0800] "GET /blog/index.php?op=ViewArticle&articleId=621&blogId=1 HTTP/1.1" 200 16944 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
85.155.132.20 - - [11/Aug/2006:23:33:44 +0800] "POST /blog/index.php HTTP/1.1" 302 - "http://wiselyview.net/blog/index.php?op=ViewArticle&articleId=621&blogId=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
85.155.132.20 - - [11/Aug/2006:23:33:45 +0800] "GET http://wiselyview.net/blog/index.php?op=ViewArticle&articleId=621&blogId=1 HTTP/1.1" 400 951 "http://wiselyview.net/blog/index.php?op=ViewArticle&articleId=621&blogId=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"


218.177.126.64 - - [11/Aug/2006:23:57:20 +0800] "GET /blog/index.php?op=ViewArticle&articleId=621&blogId=1 HTTP/1.1" 200 17217 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
218.177.126.64 - - [11/Aug/2006:23:57:25 +0800] "POST /blog/index.php HTTP/1.1" 302 - "http://wiselyview.net/blog/index.php?op=ViewArticle&articleId=621&blogId=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
218.177.126.64 - - [11/Aug/2006:23:57:29 +0800] "GET /blog/index.php?op=ViewArticle&articleId=621&blogId=1 HTTP/1.1" 200 17475 "http://wiselyview.net/blog/index.php?op=ViewArticle&articleId=621&blogId=1" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
已記錄

歡迎光臨,惡人最多之 BeB
http://beb.anyday.com.tw/
jerome
新手見習
*
文章: 42



檢視個人資料 個人網站
« 回覆文章 #5 於: 九月 04, 2006, 06:52:37 下午 »

應該是真的囉!
http://pank.org/blog/archives/000906.html
已記錄

歡迎光臨,惡人最多之 BeB
http://beb.anyday.com.tw/
php
新手見習
*
文章: 23


檢視個人資料
« 回覆文章 #6 於: 九月 05, 2006, 07:51:02 上午 »

我有碰到过,而且是比较早的时候,刚使用authimage就被机器人突破了,原理其实很简单,机器人知道你的authimage是如何生成出来的,就有对策了。
所以,必须修改相关authimage的程序,我把authimage中相关的代码作了修改,主要是以下四个文件(具体路径自己找吧,反正才几个文件):
pluginauthimageupdateconfigaction.class.php
authimagefilter.class.php
pluginauthimageconfigview.class.php
pluginauthimage.class.php
查找这四个文件中的$key的值,(原来赋值为plog吧,忘记了。)改为你自己的其他字符,我相信,机器人应该不会把这个出猜出来吧。
我的BLOG改过后,再未发生过机器人突破的事。
大家可以再讨论。
已記錄
markwu
系統管理員
超級會員
*****
文章: 3928


Mark Wu


檢視個人資料 個人網站
« 回覆文章 #7 於: 九月 20, 2006, 04:11:15 下午 »

其實如果他們真的把 authimage 破了,我以不覺得西其啊!

畢竟,他們是靠貼垃圾來賺錢的。如果大家都不給他們垃圾貼,那麼怎麼賺錢呢!

呵呵!

Mark
已記錄

raidybor
新手見習
*
文章: 29


檢視個人資料
« 回覆文章 #8 於: 九月 21, 2006, 08:46:53 上午 »

看到大家在说authimage,不过我还没有遇到过,不知道是不是因为我对authimage做过修改,我这个人很喜欢漂亮的外表,所以我改了生成样式和生成的英文如下:
程式碼:
<?php

    
include_once( PLOG_CLASS_PATH."class/plugin/pluginbase.class.php" );
    include_once( PLOG_CLASS_PATH."class/plugin/pluginmanager.class.php" );
include_once( PLOG_CLASS_PATH."class/net/rawrequestgenerator.class.php" );
    include_once( PLOG_CLASS_PATH."class/misc/glob.class.php" );
    include_once( PLOG_CLASS_PATH."plugins/authimage/class/security/authimagefilter.class.php" );

    //define( "AUTHIMAGE_FILE", "/plugins/authimage/authimage.php" );   //去掉背景图加载文件
    //define( "AUTHIMAGE_BACKGROUND_FOLDER", PLOG_CLASS_PATH."plugins/authimage/backgrounds/" );//去掉背景图加载
    
    
/**
     * Plugin that offers comment authentication image for current blog
     * Original Author: Gudlyf http://www.gudlyf.com/index.php?p=376
     * Modified by: Mark Wu
     */
    class PluginAuthImage extends PluginBase
    
{
        var $pluginEnabled;
        var $default;
        var $cacheFolder;
        
        
function PluginAuthImage()
        {
            $this->PluginBase();
            
            $this
->id      "authimage";
            $this->author  "Mark Wu";
            $this->desc    'This plugin offers extra comment authentication for LifeType. The idea is inspired by <a href="http://www.gudlyf.com/index.php?p=376">WordPress AuthImage Plugin</a> written by Gudlyf.';
            $this->version '1.0.1';

            $this->locales = Array( "en_UK" "zh_TW" "zh_CN""es_ES""de_DE" );
            
            $this
->init();              
        
}

function init()
{
            include_once( PLOG_CLASS_PATH."class/template/menu/menu.class.php" );

// register the filter
$this->registerFilter"AuthImageFilter" );

            $this->registerAdminAction"authimage""PluginAuthImageConfigAction" );
$this->registerAdminAction"updateAuthImageConfig""PluginAuthImageUpdateConfigAction" );
$this->registerBlogAction"AuthImageShow""PluginAuthImageShowAction" );

$menu =& Menu::getMenu();
if( !$menu->entryExists"/menu/controlCenter/manageAntiSpamPlugins" ))
$this->addMenuEntry"/menu/controlCenter""manageAntiSpamPlugins"""""truefalse );
            $this->addMenuEntry"/menu/controlCenter/manageAntiSpamPlugins""AuthImage""?op=authimage""" );
}
 
function register()
{
            $config =& Config::getConfig();
            $this->cacheFolder $config->getValue('temp_folder');
$this->cacheFolder $this->cacheFolder.'/authimage/'.$this->blogInfo->getId();
if( !File::exists$this->cacheFolder )) {
File::createDir$this->cacheFolder );
}
    
    $blogSettings $this->blogInfo->getSettings();
$this->pluginEnabled $blogSettings->getValue"plugin_authimage_enabled" );
$this->length $blogSettings->getValue"plugin_authimage_length" );
$this->key $blogSettings->getValue"plugin_authimage_key" );
$this->expiredTime $blogSettings->getValue"plugin_authimage_expiredtime" );
if ($this->expiredTime == ""$this->expiredTime 3600;
$this->default $blogSettings->getValue"plugin_authimage_default" );
}

    function isEnabled()
    {
        return $this->pluginEnabled;
    }

        function generateImageUrl()
        {
 
$rg = new RawRequestGenerator($this->blogInfo);
            
        
$rg->addParameter"op""AuthImageShow" );
            $rg->addParameter"blogId"$this->blogInfo->getId());

            $imageUrl $rg->getIndexUrl().$rg->getRequest();

            if ( !function_exists ('gd_info') ) {
                // We don't have gd support compiled in, lets inform the user about it
                return false;
            }

            return $imageUrl;
        }

        function show() {
            $authImageUrl $this->generateImageUrl();
            if ( $authImageUrl )
                return '<img src="'.$authImageUrl.'" style="vertical-align:middle;" "width:70px;" "height:20px;" alt="authimage" />'
            else
                return 'You don\'t have GD support compiled in, we cannot create an authimage. Please activate GD Support.';
        }

        function showImage() {
            // Delete those cached authimage files that never used
            $this->deleteExpiredAuthImage($this->expiredTime);
            
            $code 
$this->generateCode();
            $encrypt $this->encrypt($code$this->key);
            //$background = AUTHIMAGE_BACKGROUND_FOLDER.$this->default;
            $tempFile $this->cacheFolder."/".$encrypt.".gif";


//生成图形样式设置
     $image = @imagecreate (7020) or die ("Cannot initialize new GD image stream!");
     $background imagecolorallocate ($image232238247);  
        
//random points
     for ($i 0$i <= 128$i++) {
        $background imagecolorallocate ($imagerand(0,255), rand(0,255), rand(0,255));
        imagesetpixel($imagerand(2,128), rand(2,38), $background);
     }          
     
//output characters
    for ($i 0$i strlen($code); $i++) {
        $textColor imagecolorallocate ($imagerand(0,255), rand(0,128), rand(0,255));
        $x $i 18;  //控制生成的文字的间距,可以根据后台设置
        $y rand(14);
        imagechar ($image5$x$y,  $code{$i}, $textColor);
    }   
          
          
    
//改变了生成图形的种类  
          //ouput png
    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
    //  HTTP/1.1
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0"false);
    //  HTTP/1.0
    header("Pragma: no-cache");
    //  Let it more flexible!
    if (function_exists("imagepng")) {
       header("Content-type: image/png");
       Imagepng($image$tempFile);
       imagepng($image);
    } elseif (function_exists("imagegif")) {
       header("Content-type: image/gif");
       Imagegif($image$tempFile);
       imagegif($image);
    } elseif (function_exists("imagejpeg")) {
       header("Content-type: image/jpeg");
       Imagejpeg($image$tempFile);
       imagejpeg($image);
    } else {
       die("No image support in this PHP server!");
    }
    imagedestroy ($image);    
    
exit;
}

        // encrypt string
        function encrypt($string$key) {
            $plainText $string.$key;
            $encodeText md5($plainText);
            return $encodeText;
        }
        
        function generateCode() {
            $code "";
            $code .= str_replace(array('0''a'), array('9''z'), strtolower(substr(md5(rand()), 20$this->length))); //改后的生成文字方式,使可以生成英文
           // for($i=0; $i < $this->length; $i++) $code .= rand(0,9); //只生成数字被去掉
            return $code;
        }        
        
        
function deleteExpiredAuthImage$expiretime ) {
            $path $this->cacheFolder;
            if ( is_dir($path) ) 
            
                $handle=opendir($path); 
                while (false!==($file readdir($handle))) { 
                    if ($file != "." && $file != "..") {  
                        $diff 
time() - filectime("$path/$file");
                        if ($diff $expiretimeunlink("$path/$file");
                    
                }
                closedir($handle); 
            }
        }           
    
}
        
?>


这个是pluginauthimage.class.php的改动当然还有其它文件也有改动,主要是控制生成文字的位置与间距
我也不太懂PHP,我只希望把我懂的东西分享出来,因为我爱LT,我希望它发展的更好!
尽管我可能没有多少时间,但我还是愿意...
« 最後編輯時間: 九月 21, 2006, 08:56:05 上午 由 raidybor » 已記錄
頁: [1]
LifeType 中文開發論壇  |  支援  |  使用與操作  |  [ 疑問 ] 可能已經有機器人可以突破 authimage 的防護了 « 上篇主題 下篇主題 »
    前往: