若気の至り若気の過ちか?Mr.ROBOT🤖
2022.09.11
こんばんは、深夜便で東京に向かってます(嘘です)。
今日は緊急で動画廻してます(記事を書いています)。私が昔書いたコードに大きな脆弱性が合ったので、そのコードの穴だけ塞ぎました。まだ、色々な所に穴があるかもしれないですが・・・。
この脆弱性に関しては知っていたのですが、昔のコードをそのままにしていたのを失念していたのです、それが大きな過ち…。仕事では重大インシデントになりますね😱。
<?php
function defence_xss($data=""){
if(is_array($data)){
foreach ($data as $key => $value) {
$data[$key] = strip_tags($value);
$data[$key] = htmlspecialchars($data[$key],ENT_QUOTES);
}
}else{
$data = strip_tags($data);
$data = htmlspecialchars($data,ENT_QUOTES);
}
return $data;
}
今回、塞いだのは初歩の脆弱性です、、、POSTやGETで送られるデータに悪意のあるコードなどを埋め込んでハッキングを行う手法です。またセッションジャックとかそういうのもありますので、気になる方は調べてみてください。
追記して書いときます。昔勤めていた会社でも何度か、この手の手法でハッキングに合いました。脆弱性が解消されているかは分かりません。XSS攻撃は防げても、これではSQLインジェクション攻撃は防げません、昔のコードで動いているとしたら修正箇所は無数にあるので一日では直せないでしょう。
昔勤めていた会社はShopifyへシステムを移行しているようですが、それが良いのかは分かりません、自分だったら物足りなさを感じると思います😌。
タグ
array, as, data, defence, foreach, function, gt, htmlspecialchars, if, is, key, lt, Mr, php, quot, ROBOT, strip, tags, value, xss, インシデント, コード, それ, 今日, 仕事, 動画, 嘘, 失念, 所, 昔, 東京, 深夜便, 私, 穴, 緊急, 脆弱性, 色々, 若気, 記事,
#プログラムサンプル ブログパーツは検索して出てくるのでうっぷします。
2015.03.11
ブログパーツの簡素な仕組みをUPします。基本はこれだけです。基本はこれだけですけど応用すると少々面倒くさいのでそこら辺はご想像におまかせします。これを基にして正規に配布する状態にするには、サーバの負荷の事やセキュリティとかそういう事まで考えなくてはならないので少々面倒くさいです。特にIDを発行して配布する場合などは結構、コードを書かないといけないです。また、悪意のあるユーザーがサーバに負荷をかけれる要因にもなりますので、安易にブログパーツを提供するのはオススメできません。ちなみに自分のブログパーツ用のJSを貼り付けても動作はしません(ファイルがないので)。ただ、下記のサンプルコードを自分自身のサーバ上に設置し、設置したURL(任意のURL)をJSで呼び出すと動作し、それを配布することも可能です。
PHPファイル
<?php header("Content-type: application/javascript"); $str = htmlspecialchars($_GET["hoge"]); if($str!=""){ echo "document.write($str);"; }else{ echo "document.write('hoge!?');"; } ?>
JS貼付け用。
<script src="https://zip358.com/tool/sample-tool/sample-blogtool.php?hoge='こんにちは'" language="JavaScript" charset="utf-8"></script>
タグ
AM, charset, Content-type, document.write, echo, header, hoge, htmlspecialchars, javascript, JS貼付け用, script src, script>, STR, utf-8, これだけ, ご想像, サーバ, セキュリティ, そこら辺, プログラムサンプル ブログパーツ, 負荷,