iG:Syntax Hiliter テスト

4 11 2006

CodeHighlight がアレだったので iG:Syntax Hiliter 使ってみるテスト。

指定できるのはマニュアルによると

ActionScript, ASP, C, C++, C#, CSS, DELPHI, HTML, JAVA, JavaScript, MySQL, PERL, PHP, PYTHON, RUBY, SMARTY, SQL, Visual Basic, VB.NET, XML & CODE for wrapping their respective tags.

となっている。bsh(bash)用意してほしかったなぁ。

from mod_python import apache

def handler(req):
    req.write("Hello World!")
    return apache.OK

#!/usr/bin/perl

my $host = $ENV{'REMOTE_HOST'};
my $addr = $ENV{'REMOTE_ADDR'};

$host       = $addr if $host eq '';
$host       = lookup($host);
$tip        = $ENV{'HTTP_SP_HOST'} if $ENV{'HTTP_SP_HOST'} ne '';
$tip        = $ENV{'HTTP_VIA'} if $ENV{'HTTP_VIA'} =~ s/.*\s(\d+)\.(\d+)\.(\d+)\.(\d+)/$1.$2.$3.$4/;
$tip        = $ENV{'HTTP_CLIENT_IP'} if $ENV{'HTTP_CLIENT_IP'} =~ s/^(\d+)\.(\d+)\.(\d+)\.(\d+)(\D*).*/$1.$2.$3.$4/;
$tip        = $ENV{'HTTP_FORWARDED'} if $ENV{'HTTP_FORWARDED'} =~ s/.*\s(\d+)\.(\d+)\.(\d+)\.(\d+)/$1.$2.$3.$4/;
$tip        = $ENV{'HTTP_X_FORWARDED_FOR'} if $ENV{'HTTP_X_FORWARDED_FOR'} =~ s/^(\d+)\.(\d+)\.(\d+)\.(\d+)(\D*).*/$1.$2.$3.$4/;
$tip        = lookup($tip);
$rip        = ($host =~ /localhost|127\.0\.0\.1|192\.168\.|proxy|cache|^delegate|^dns|us$|keeper|^mail|www|^ns\./i or $host eq '') ? $tip : $host;
$userhost   = ($rip =~ /localhost|127\.0\.0\.1|192\.168\.|proxy|cache|^delegate|^dns|us$|keeper|^mail|www|^ns\./i or $rip eq '') ? undef : $rip;
$uid        = $cid == 1 ? makeid($userhost) : $mail ne '' ? '???' : makeid($userhost);
$userhost   =~ s/[^0-9a-zA-Z\.-]//g;

sub lookup{
        if($_[0] =~ /([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/){
                my $ip   = "$1.$2.$3.$4";
                my $addr = (gethostbyaddr(pack('C4',$1,$2,$3,$4),2))[0];

                $addr ne '' ? return $addr : return $ip;
        }

    return $_[0];
}

sub makeid {
        my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($time);

        my $id = crypt (crypt ($_[0], $mon), $mday + 31);

        return substr ($id, -8);

}

        ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($time);

        print "content-type:text/html\n\n";
        print "$mon\n";
        print &makeid($userhost);

exit 0;

この Perl スクリプト腐ってるな

#!/bin/sh

## setting
WORKPATH=/root/john.cron
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
DATADIR=./data/
TMPDIR=./tmp/
TMPFILE=./tmp/tmp.`date +%Y%m%d`
TMPFILE_SORT=./tmp/tmp_sort.`date +%Y%m%d`
PASSFILE=./data/passwdfile
BADLISTFILE=./tmp/badlist
BADLISTFILE_TMP=./tmp/badlist.tmp
SHELLS=-,/dev/null,/bin/sync
ADMIN=server@d-r.co.jp

## check
cd ${WORKPATH}
if [ ! -e ${TMPDIR} ]; then
        mkdir ${TMPDIR}
fi

if [ ! -e ${DATADIR} ]; then
        mkdir ${DATADIR}
fi

if [ ! -e ${BADLISTFILE} ]; then
        touch ${BADLISTFILE}
fi

if [ -e ${BADLISTFILE_TMP} ]; then
        rm ${BADLISTFILE_TMP}
fi

## main
unshadow /etc/passwd /etc/shadow> ${PASSFILE}
john --single ${PASSFILE}

john -show ${PASSFILE} -shells:${SHELLS} | sed -n 's/:.*//p' |
(
        while read USERS
        do
                echo ${USERS}>> ${TMPFILE}
        done
        BADUSERS=`cat ${TMPFILE}`
        echo ${BADUSERS}
)
if [ -n ${BADUSERS} ]; then
        sort -u ${TMPFILE}> ${TMPFILE_SORT}
        BADUSERS_NEW=`diff -C 0 ${BADLISTFILE} ${TMPFILE_SORT} | sort -u | grep "^+" | awk '{print $2}'`
fi

if [ -z ${BADUSERS_NEW} ];then
        echo "nothing"
        if [ -e ${TMPFILE} ]; then
                rm ${TMPFILE}
        fi
        if [ -e ${TMPFILE_SORT} ];then
                rm ${TMPFILE_SORT}
        fi
        exit
else
# You'll probably want to edit the message below
        mail -s "Bad password at `hostname`" "$ADMIN" <<EOF
WARNING

Account(s) is insecure at `hostname`.
Please change it as soon as possible.

[Insecure Account List]

${BADUSERS_NEW}

EOF

        echo "messages sent"
        for j in ${BADUSERS_NEW}
        do
                echo ${j}>> ${BADLISTFILE}
        done
        sort -u ${BADLISTFILE}> ${BADLISTFILE_TMP}
        mv ${BADLISTFILE_TMP} ${BADLISTFILE}
fi

## cleaning
if [ -e ${BADLISTFILE_TMP} ]; then
        rm ${BADLISTFILE_TMP}
fi

if [ -e ${TMPFILE} ]; then
        rm ${TMPFILE}
fi

if [ -e ${TMPFILE_SORT} ]; then
        rm ${TMPFILE_SORT}
fi

echo "---- finish ----"

john the ripper のやつごにょごにょしたやつ

Popularity: 21%


Actions

Informations

Leave a comment

You can use these tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>