iG:Syntax Hiliter テスト
4 11 2006CodeHighlight がアレだったので 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)用意してほしかったなぁ。
def handler(req):
req.write("Hello World!")
return apache.OK
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);
}
($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 スクリプト腐ってるな
## 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%





