apacheのaccess_logにjavaのソースコードみたいなアクセスが記録されていた。(Struts2の脆弱性S2-016への攻撃)
自宅サーバで動かしているApacheに対してStruts2の脆弱性「S2-016」を悪用しようとする攻撃が来ていたので、その内容を調べてみました。
pythonでapache killerを書いてみる
友人のサーバの脆弱性を調べていたらapacheのバージョンが古かったので、試しにapache killerと言われる攻撃手法を試してみました。
xlibでX11のマウスを制御してみた。
linux/X11の環境用に、Xlibを使ってカーソルが画面内をポンポン跳ね回ったりクリックをエミュレーションしたりするプログラムを書いてみました。
WerkzeugのSecureCookieを試してみた。
Pythonのflaskのセッションを実装するために使われている"Werkzeug"というライブラリの"SecureCookie"という機能を直接触ってみました。Werkzeug、結構高機能で楽しいです。
HTML5のcanvasの中身をコピー
HTML5のcanvasを使ってお絵描きした内容を、そのまままるごとコピーする方法です。結構簡単に出来るみたいです。
HTML5のcanvasでお絵描きしてみた。
HTML5のcanvasを使用して、簡単なお絵描きツールのようなものを作ってみました。結構色々遊べそうです。
mercurialが入ってない共有サーバにデプロイするのにmercurial使いたい。
古いサーバ、古いパッケージ管理システムであっても、mercurialであればホームディレクトリにインストールしてプッシュしたり出来るそうです。共有サーバにインストールして、リポジトリをプッシュする方法のメモです。
gentooのportageが落とすtarballを綺麗にしよう
gentooのportageがダウンロードしてくるtarballが大量に溜ってしまっていたのですが、不要なものを見つけて綺麗にしてくれるツールがありました。
C言語/GTKでファイルやらソケットやらのfdが読み込み(or書き込み)可能になるのを待ちたい。
GTKにあるチャンネルという機能を使用して、ファイルハンドラや通信用のソケットなどのfdが読み書き可能になるのを待つためのC言語のコードを書いてみました。
Haskellであまり末尾再帰を使わない理由
Haskellを勉強するためにサンプルソースを見ていると、中々末尾再帰を使ったコードを見かけないことに気付きました。簡単な実験をして、何故Haskellでは末尾再帰にしないのかを調べてみました。