ひとこと

― 今日のひとこと ―
年に1回くらい、EVE Onlineやりたくなるのよね。
(2025.12.24)
ラベル HTML の投稿を表示しています。 すべての投稿を表示
ラベル HTML の投稿を表示しています。 すべての投稿を表示

2016年2月24日水曜日

Hackme攻略 - Lv別ヒント -

「糸口すらつかめねえ・・・でも答えは自力で導き出したい!」というハイエンドなあなたに朗報
HackmeのLv1からLv4までのヒントだけを書いておく。Lv5は知りません。

ヒントといってもいくつかのキーワードだけ。
しかし、もし基礎知識が充分であれば、それだけでも突破口は見えてくるはず。


■Lv1
・ソースコード

■Lv2
・データベース
・サニタイジング

■Lv3
・URL
・passwdファイル

■Lv4
・スクリプト
・サニタイジング
・Cookie
・セッション


健闘を祈る!

2013年1月27日日曜日

Hackme攻略 Lv1

クラッキングの腕を試すサイトとして有名なHackme

内容はシンプルで、Lv1からLv5までの5段階を順番にパスワードクラッキングしていくというもの。
Lvが上がる毎に難易度も高くなっていく。
これまでに約22万3000人が挑戦しているが、その中でもLv5をクリアした者はたったの3人しかいない・・・。

僕も先日挑戦してみたところ、Lv3まではなんとかクリアできた。

メモが必要なのはツールを使うLv3だけだと思うが・・・まぁとりあえずLv1からの攻略法をメモしておく。




以下、Hackmeの攻略に関するネタバレを多大に含みます。自力で攻略したいなら見ちゃだめです。


[Lv1]


1.ヒントを探す
ページを眺めてみても、特にヒントになりそうなものは無い。
が、しかしページで右クリックしてみると・・・


右クリックのメニューが開けない。妙に変だなぁ・・・
歌の歌詞を載せてるサイトなんかでは、歌詞のコピペを封じるために右クリックを禁止してたりするよね。
おそらくこのHackme Lv1にも、右クリックされたら困る理由があるに違いない。怪しい!
っていうか(笑)がそこはかとなくむかつく!


2.Hackyou!
まぁだいたい想像つくよね。ソースコードが怪しい。
右クリックが駄目なら別の方法でソースコードを見ればいい。
FireFox18.0.1の場合は↓のように操作する。


これでこのページのソースコードを閲覧できる。
試しにCtrl+Fで「pass」と検索してみると・・・

無用心すぎるだろ・・・。

このidとpassをログインフォームに打ち込んでみる。


結果は・・・

Lv1クリア!



とんでもなく簡単。プログラミングをかじった事があれば中学生でも解ける。
次回はLv2攻略。



------------2014/01/25 追記------------

Hackmeではブラウザのツールボタンからソースコードを確認する事が出来るが、
サイトによっては何のボタンも表示されないよう制御されている場合もある。

そんな時はどうやってソースコードを閲覧するのか?

実は、Windowsには「コンテキストメニューを表示するショートカットキー」が存在する。
ctrl + shift + F10
(または shift + F10)

ここからソースコードを表示するメニューを選択すればいいわけだ。こっちの方がハッカーぽいね

------------2019/12/31 追記------------
今更ながら追記。F12を押すというのが一番簡単ですね


2013年1月26日土曜日

Java ServletとAWS-SESでメール送信 No.3

フォームから送信された内容をチェックし、前回作ったプログラムを実行するサーブレットプログラムを作る。


チェックするのは2つ。
・本文の有無
何度か試してみたところ、本文が空だとメール送信できない様子(要検証)
なので本文が入力されているかどうかを調べる。
(このコードでは0か1かの簡単なチェックしかしていない)

・宛先アドレス
今回は個人的な事情で、宛先メールアドレスを指定できる機能が必要だった。
フォームの「宛先メールアドレス」にアドレスが入力されていればそのアドレスへ、
未入力なら本来の宛先である自分のGmailアドレスへメールを送信する。
(ここでも単純なチェックしかしていないが)


[プログラム]
package send;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class SendMail extends HttpServlet{
 
 public void doPost(HttpServletRequest request,HttpServletResponse response)
  throws ServletException,IOException{
  
  // 文字コード指定
  request.setCharacterEncoding("UTF-8");
  response.setContentType("text/html; charset=UTF-8");
  PrintWriter out = response.getWriter();
  
  // メール内容設定
  String subject = request.getParameter("subject"); // 件名取得
  String body = request.getParameter("body");   // 本文取得
  String address = "";
   // 本文入力チェック
  if (body.equals("")) {
   out.print("本文が入力されていません。");
  }else {
   // 宛先アドレス設定
   address = request.getParameter("address");
    // 宛先アドレス入力チェック
   if (address.equals("")) {
    address = "xxxxxxx@gmail.com";
   }

   // メール発射用意!!
   SES ses = new SES();
   // 実行して結果メッセージ出力
   out.print(ses.send(subject,body,address));
  }
 }
}



またコード眺めてて思ったんだけど、メールの文字コードってISO-2022-JPじゃなかったっけ・・・
何も考えずUTF-8にしたが・・・まぁSESが直接メール送信するわけじゃないし、いいのかな(?)

いいか。メールの内容はちゃんと送れてるし。



プログラムをweb.xmlでマッピングする。





    
    
        SendMail
        send.SendMail
      
    
        SendMail
        /SendMail
     
    



Syntax Highlighter使うとDOCTYPEが表示されないのかしら
このページのソースの1143行目を見ればわかると思うがこのxmlコードにはDOCTYPEの指定があります。



とりあえず、ここまで出来たらEclipseでTomcatプラグインを使って動作テストをしてみましょう。

正常にメールが送信されているのを確認したら、
Amazon Web Serviceで仮想サーバ構築 No.5にメモした方法でFTP通信をして、
TomcatのWebappsフォルダ直下(/opt/tomcat7/webapps/)にプロジェクトを配置する。

その後Amazon Web Serviceで仮想サーバ構築 No.4にメモした方法でTomcatを再起動
またはブラウザでTomcatのManagerにアクセスしてプロジェクトを起動する。


これで問い合わせフォーム完成!
ちなみにフォームのURLは「http://xxx.xxx.xxx.xxx:8080/SendMail/html/form.html」である。

Tomcatをポート番号デフォルトで使用している場合、アクセスするポートは8080番となる。
AWS-EC2インスタンスにアクセスする場合はSecurity Groupで8080を許可する必要があるので注意。





そういえばこないだHackMeのLv3をクリアしたので
その攻略法も今度メモしておこうかな。

2013年1月24日木曜日

Java ServletとAWS-SESでメール送信 No.1 -準備とフォーム作成-

今回メモするのは、問い合わせフォームみたいなWebアプリケーションプログラム。
っていうか問い合わせフォーム。前回までに作った仮想サーバで動かす。


全体的な処理の流れはこんな感じ↓
1.HTMLフォームに内容を入力し、Java Servletプログラムに送信
2.Java Servletプログラムは内容を確認し、SESにリクエストを送信
3.SESでメール送信


使うもの
Eclipse
Eclipse用Tomcatプラグイン
AWS Toolkit for Eclipse
※Tomcatプラグインを使うには、PCにTomcatをインストールする必要があるよ。


プロジェクトの最終的な構造は↓の通り。


form.html   → 普通のHTMLフォーム
SendMail.java → 入力内容を簡単にチェックし、問題なければメールを送信するプログラム
SES.java   → SESでメールを送るためのメソッドを定義したクラスファイル



form.html を作成する。

テスト用に宛先メールアドレスの入力欄を作っているが別に無くても問題ない。コードは以下



testForm


件名と本文を入力してください。
管理者のメールアドレス以外の宛先にメールを送信する場合は、 その宛先メールアドレスも入力してください。
件名:

本文:

宛先メールアドレス:





ほんとは今日の内に全部書いてしまうつもりだったんだけど、コードや画像を載せると記事が激しく長くなり
可読性が著しく低下する事になるから2回か3回に分けて書くことにする。

2013年1月5日土曜日

Syntax Highlight

1月5日。そろそろ冬休みが終わる。
仕事や趣味で使った技術などを忘れない内にメモしておく事を目的として、このブログを開設する。
ちなみにブログのタイトルには「新人SEの~」とあるが今年度中までは僕は学生である。
基本的には自分用のメモになると思うけど、誰かの役に立つ事があれば嬉しい。


さて、まずはBloggerにソースコードをかっこよく貼る方法をメモしておこう。
シンタックスハイライトっていうらしい。こういうやつ。↓

class HelloWorld {
  public static void main(String args[]) {
    System.out.println("HelloWorld!");
  }
}



利用するのはSyntax Highlighter


まず、自分のブログでシンタックスハイライトを使うための準備をする。
おおまかな流れは以下の通り。(画像をクリックすると別枠で画像を表示)

1.Syntax Highlighter Scripts GeneratorのWebページにアクセス
2.ページ下部の項目から、Bloggerに載せたいソースコードの言語をチェック



3.その下にある「Generate」ボタンをクリック
4.表示されたコードを全て選択してコピー



5.ブログ管理画面で「テンプレート」をクリックし、HTMLの編集をクリック



6.headタグ内に、Syntax Highlighter Scripts Generatorでコピーしたコードを貼りつける



以上で準備完了。


では、ソースコードをかっこよく貼りつけてみよう。やり方は簡単。
まず、投稿画面で「HTML」をクリックし、HTML文での日記編集画面に移る。



あとは、以下の文法に則って、載せたいコードを記述するだけ。

<pre class="brush: 載せるコードの言語名" title="タイトル">
   載せるコード
</pre>

これだけ。「title=""」の部分は不要なら書かなくていい。


以上でかっこよくコードを貼りつけられるはず。
シンタックスハイライトのデザインは色々と変更する事もできるが、それは適宜ggるべし。