You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
1. 始めに こんにちは、morioka12 です。 本稿では、バグハントの入門として、主に Web アプリケーションの OSS に焦点をおき、脆弱性の発見・報告・CVE ID の取得について紹介します。 1. 始めに 免責事項 想定読者 筆者のバックグラウンド 2. CVE とは 3. 探す対象の選び方 OSS Topic (Type) 特定の条件で絞る バグバウンティの OSS 4. 脆弱性の検証方法 アプローチ方法 5. 脆弱性の報告先 6. 報告書の書き方 CVSS CWE 7. 脆弱性発見から CVE ID の取得までの流れ 注意点 8. バグハント前のスキル準備 過去の CVE ID やレポート Web Security の場合 9. その他 その後のチャレンジ バグバウンティ入門 セキュリティエンジニアを目指す就活生の方へ OSS の開発者の方へ 10. 終わりに 免責事項
はじめに 検証環境 ホスト コンテナ 構築 OpenLDAP LDAPクライアントアプリケーション 1. アプリケーションの用意 2. コンテナの準備 3. コンテナの実行 動作確認 OpenLDAPの動作確認 予想外の事態発生 脆弱性の検証 正常系の動作確認 脆弱性の確認 ダメな対策 対策 ldap_escape関数 まとめ 参考 更新履歴 はじめに 今更ながらLDAPインジェクションがどのようなものなのかの検証をやってみました。 LDAPインジェクションは脆弱性としてそこそこ有名であり、名前だけは目にすることがあるが、イマイチ実際に検証を行う気になれない脆弱性でもあると思う。特にLDAPの環境構築は手間になりそうだし。 このままだとLDAPインジェクションを体験しないまま死んでしまってもおかしくないので、DockerでさくっとLDAPインジェクションの検証環境を構築し体験してみるとする
※ 括弧内の日付はいずれもリリース日。 結論 基本的には問題ない。 CentOS の公式 Wiki の FAQ には「CentOS は企業向けであり、最先端よりも安定性と長期的なサポートが優先される。主なパッケージのバージョンは製品のライフサイクル全体を通じて保持される。」「最新バージョンのパッケージがないのは欠陥ではなく特徴である。」2 (意訳) とあり、バージョンが古いままなのは意図的である。 また、「セキュリティパッチやバグ修正が出荷バージョンにバックポートされている。」「単にバージョン番号を見るだけでは、脆弱性があるとは言えない。」3 (意訳)とあり、脆弱性の対応も行われていることが分かる。 ただし、CentOS 5.x の php53 パッケージはメンテナンスされていないので直ちに使用を中止した方がよい。「サポート期限」を参照のこと。 バックポート PHP 本体のセキュリティサポ
サマリ DNSリバインディングが最近注目されている。Google Chromeは最近になってローカルネットワークへのアクセス制限機能を追加しており、その目的の一つがDNSリバインディング対策になっている。Googleが提供するWiFiルータGoogle Nest WiFiはデフォルトでDNSリバインディング対策機能が有効になっている。 DNSリバインディング対策は、攻撃対象アプリケーションで行うべきものであるが、ブラウザ、PROXYサーバー、リゾルバ等でも保護機能が組み込まれている。本稿ではそれら対策機能の状況と対策の考え方について説明する。 DNSリバインディング(DNS Rebinding)とは DNSリバインディングはDNS問い合わせの時間差を利用した攻撃です。DNSのTTL(キャッシュ有効期間)を極めて短くした上で、1回目と2回目の問い合わせ結果を変えることにより、IPアドレスのチ
Hello there, ('ω')ノ ■PHPのバージョンを定期的に更新する 古いバージョンのPHPには、既知のセキュリティ問題があり。 これらの欠陥は新しいバージョンで修正されており。 ハッカーが攻撃を仕掛けるのがより困難になっていて。 PHPプログラムを維持している間は、バージョンの更新を優先して。 古いバージョンに対して脆弱な攻撃対象領域を防ぐ必要があって。 ■ディレクトリアクセスを制限する ディレクトリアクセスを制限するには、open_basedir 関数を使用して。 たとえば、 open_basedir 関数がプロジェクトのルートに設定されている場合は。 これは、アクセス可能なファイルがプロジェクトの。 ルート以下にあるファイルのみであることを意味して。 ■URLエンコードを使用する URLエンコードにより、有効なURLを安全に生成できて。 これにより、ユーザ情報が公開された結
PDOを使ったデータベース操作でオブジェクトを扱う場合、不便なところが結構あります。 それを PDOStatement を拡張することで使いやすくしようという話を基本に、応用例としてJSON出力とCSVファイル出力の方法を紹介します。 オブジェクトで取得するためのフェッチモード フェッチモードには多彩なものが用意されているのですが、オブジェクトで取得する場合はどれも使いづらいです。 自分はいわゆるモデルクラスは不変オブジェクトにしたいよ派かつ、マジックメソッド大好きなので、その辺りの使いやすさについても注目してみます。 PDO::FETCH_OBJ 列名をプロパティに持つ匿名オブジェクト (stdClass) を返します。 匿名オブジェクトなんて連想配列と同じだし、今となっては意味がなさそう…。 PDO::FETCH_LAZY PHPマニュアルの記述からは PDO::FETCH_OBJ と
アクセスログの取得 まずは、サーバーからアクセスログを取得します。 僕は、今エックスサーバーしか利用していないので、その方法を書きます。 エックスサーバーの場合はサーバーパネルからログインしてパネルを開きます。 そして、「統計」項目の「ログファイル」をクリックします。 あとはドメインを選択して、 ダウンロードするだけです。 エックスサーバーデフォルトの場合は「nelog.jp.access_log」というファイルがダウンロードされます。 このアクセスログには、すべてのファイルへのアクセスに対する「1週間のログ」が書き込まれています。 すべてのファイルへのログなので、当サイトの場合だと2GB以上あり、600万行以上のテキストになっていました。 アクセスログの解析方法 これら膨大なアクセスログから、一つ一つ怪しいファイルを見ていくのは不可能なので、簡単な解析用コードをRubyで書きました。 W
(Last Updated On: 2018年8月8日)今日はWordPressプラグインとWebサーバー設定の脆弱性を例にスクリプトアップロード対策を紹介します。 ファイルアップロードをサポートしているシステムの場合、PHPスクリプトとして実行されてしまう拡張子を持つファイルをアップロードされてしまうとサーバーを乗っ取られてしまいます。 参考リンク: WordPress GeoPlaces 4.x Shell Upload Uploadify 3.2.1 Shell Upload / Information Disclosure 参考リンクの脆弱性とPoCはWebサーバー上に公開されているディレクトリへPHPスクリプトをアップロードし、任意のスクリプトを実行する攻撃です。一つ目の脆弱性の内容は以下の通りです。 #Title : WordPress GeoPlaces 4.x Themes
この記事はWordPress Advent Calendar 2015の7日目の記事です。 今年初めてWordCamp Tokyoにて講演の機会をいただき、WordPressのセキュリティについて話しました(スライド)。そこでもお話ししましたが、WordPressに限らず、Webサイトへの侵入経路は2種類しかありません。それは以下の2つです。 ソフトウェアの脆弱性を悪用される 認証を突破される したがって、侵入対策としては以下が重要になります。 全てのソフトウェア(OS、Apache等、PHP、WordPress本体、プラグイン、テーマ等)を最新の状態に保つ パスワードを強固なものにする 以上! と叫びたい気分ですが、それではシンプル過ぎると思いますので、以下、WordCampでお話した内容とリンクしながら、もう少し細く説明したいと思います。 全てのソフトウェアを最新の状態に保つ Word
A curated list of awesome test automation frameworks, tools, libraries, and software for different programming languages. Sponsored by https://zapple.tech
ぼやっとは理解してたけど、この記事を見て知識が定着した気がする。 DI・DIコンテナ、ちゃんと理解出来てる・・? - Qiita この記事ではDIとDIコンテナとサービスロケータについて触れてたけど、 ここではDIについてだけ改めて自分でまとめてみる。 サンプルケース 例えばこんなコードがある。 ※phpぽいけど疑似コードです。 class Human { public void function __construct(string name) { this->brain = new Database() # DBアクセスライブラリ this->name = name } # 覚える public void function memolize(string keyword, string some_string){ this->brain.save(keyword, some_strin
はじめに 今年3月、リクルートテクノロジーズ社が偽サイトへの誘導を目的としたSEOポイズニングに関する記事を公開しました。 recruit-tech.co.jp 脆弱性を突くなどして他のサイトに検索エンジン(Google等)のクローラのみがアクセスできるページを不正に設置し、このページを踏み台として攻撃者が運用する偽サイトにユーザを誘導しようとする試みに関する記事です。 同様の試みは、現在も活発に行われています。 本記事では、SEOポイズニングの手法を使用した偽ECサイトに関して、現時点で確認できていることを纏めてみたいと思います。 SEOポイズニングの手法について 偽ECサイトへの踏み台として不正に設置されるページは、日本国内で一般的に認知されている組織のWebサイトをコピーしたもののようです。 検索エンジンで、このようなWebサイトのCopyright部分をキーワードとして検索すると、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く