タグ

ブックマーク / ya.maya.st (8)

  • bash の危険な算術式 - どさにっき

    ■ bash の危険な算術式 _ 使ってる人がいちばん多いだろうからタイトルでは bash としてるけど、ここで取り上げることは zsh および ksh 一族(家 ksh、pdksh、mksh)にも該当する。ash、dash などでは該当しない。 _ 以下のシェルスクリプトには脆弱性がある。わかるだろうか。 #!/bin/bash # "品目,単価,個数" の形式の CSV を読んで、"品目,合計金額" の形式で出力する csv="foo.csv" while IFS=, read item price num; do echo "$item,$((price*num))" done < "$csv" これ、細工された CSV ファイルをわせることで、任意コードの実行ができてしまう。数ある脆弱性の中でもとくにヤバいやつだ。どこが穴なのかというと、タイトルにもあるとおり算術式なのだが、し

    iww
    iww 2019/09/02
    よくある話
  • qmail + Shellshock: どさにっき

    2014年9月24日(水) ■ SSDP _ IW2014 DNS DAYのプログラムが発表されてました。今年も喋ります。お題は IP53B。よろしく。 _ 内容は IP53B に関連するんだけど、持ち時間があまり長くないのと、あくまで "DNS" DAY ということでテーマがそぐわないかもということで、当日に喋らないかもしれないネタを今のうちに投下してみる(余裕があれば喋りたい)。 _ SSDPというプロトコルがあるですよ。UPnP で使われるもの。1900/udp。はい、UDP です。amp 攻撃の踏み台に利用可能。 増幅率はおよそ30倍ぐらい。踏み台になりうるオープンな SSDP サーバは、 全世界で1700万台、国内に65万台も存在している模様。 オープンリゾルバよりも多い。 _ さらに悪いことに、オープンソースの複数の SSDP 実装には、外部から任意コードを注入できる 脆弱性の

  • RedHat の openssl がキモい - どさにっき

    2010年3月4日(木) ■ $GENERATE _ BIND で使うゾーンファイルの書式は BIND が勝手に決めたわけではなく、実は RFCで規格化されている(なので、BIND だけじゃなくて NSD でも同じ書式。djbdns は独自形式だけど)。 _ とはいえ、BIND はそれを生のまま使ってるわけではなく、勝手な拡張もしている。 $GENERATEとか。これが何モノかというと、連番を自動生成するためのもの。 $GENERATE 1-10 host-$ IN A 192.0.2.$ ↑と↓は同義。 host-1 IN A 192.0.2.1 host-2 IN A 192.0.2.2 host-3 IN A 192.0.2.3 ... host-10 IN A 192.0.2.10 とっても楽ちん。ただし、$GENERATE はあくまでゾーンファイルの記述を簡略化するだけで、DNS

  • どさにっき - #!/usr/bin/env

    2006年6月21日(水) ■ DomainKeys _ えーと、DomainKeys ってのは要するに電子署名なので、署名された後でヘッダや文が改変されると検証に失敗する。DomainKeys はメーリングリストに弱いと言われる理由のひとつですな。 _ 自宅 postfix に milter を導入したので、DomainKeys を検証できるようにしてこのあたりの動作を注意深く観察してるのだが、このまえはじまった DNSOPS.JPのメーリングリストからのメール。 Authentication-Results: mx.maya.st sender=ロボットによる収集回避@dnsops.jp; domainkeys=pass なんで pass しとんねん。ML が Subject をいじってるんだから fail になるはずなんだが。Subject をいじらないメーリングリストとか、いじっ

    iww
    iww 2013/08/08
    #!/usr/bin/env を使う理由
  • localhost の特別扱い - どさにっき

    2012年10月2日(火) ■ localhost の特別扱い _ localhost というのはローカルなホストであって外部のホストではない。はず。なので、デフォルトで特別扱いしているアプリというのがたまにある、というのがちらっと近所で話題になって思い出したことを。 _ MySQL。サーバではなくクライアント側のライブラリ。この手の特別扱いでとびぬけておかしな挙動をしやがる。接続先ホストとして localhost を指定すると、127.0.0.1 でも ::1 でもなく、接続先を勝手に UNIX ドメインソケットに変更してつなぎにいきやがる。 詳細。ライブラリが勝手にやってるので、それを利用するアプリはすべてこのような挙動になる。localhost で待ち受けているのが自ホストmysql サーバではなく、他ホストで動いている mysql に接続するために掘ったトンネルだったりするとこ

  • Sendmail with Maildir

    Sendmail で Maildir を使う 大誤解 「Sendmail が扱えるのは mbox 形式だけで、Maildir は使えない」 大嘘である。sendmail は Maildir を扱うことはできない。それは事実だ。しかし、sendmail は mbox も扱うことができない。なぜならば、sendmail は MDA ではないからだ。 MDA とは何ぞ MTA と MDA MTA (Mail Transfer Agent): SMTP を使ってサーバ間でメールを転送するもの。 MDA (Mail Delivery Agent): ユーザのメールボックスにメールを配信するもの。 sendmail は MTA である。MSA や MSP としての側面もあるが、MDA としての機能は内包していない。sendmail はユーザのメールボックスの形式は関知しない。sendmail がメール

    iww
    iww 2012/08/08
    『なお、RedHat Linux の標準設定の sendmail.cf では、頼みもしないのに MDA に procmail を使うようにはじめから設定されている。』
  • <Limit> の危険

    <Limit> は使うな メソッドごとに異なるアクセス制御が必要になることがいったいどれだけあるというのか? Apache の各種ディレクティブのうち、もっとも間違った使い方をされていると思われ、しかも危険なディレクティブである <Limit> について。 てっとりばやく、まずは正しい設定を メソッドとは? <Limit GET> の突破 <Limit GET POST> の突破 まとめと補遺 こちらもあわせて参照されたい。10年前なら正しかったんだけどね…。 てっとりばやく、まずは正しい設定を 長ったらしい文章を読む気になれないとか、書いてあることの意味がよくわからないという人は、とりあえずこの節だけ読んで手元の httpd.conf、.htaccess を修正すべし。 google で検索してひっかかったページにそう書いてあったから自分も真似しただけ、という人は、 <Limit ???

  • MTA のアクセス制御

    MTA の各種のアクセス制御手法について思いつくままにメモしたもの。ほとんどは spam 対策だが、こうすれば spam を撃退できる、というガイドではない。絶大な効果があるものから、ほとんど効果がないどころか多大な副作用をもたらすものまで、さまざまな手法をとにかく列挙する。筆者は spam 対策については「やりすぎるぐらいならば何もしない方がマシ」という立場を取っているので、メリットよりもデメリットを重視する。なお、分量はわずかだが DoS 対策や内部ユーザによる abuse を防止する手法についても触れる(この文書は spam 対策技術のメモではなく MTA のアクセス制御手法のメモである)。 ローカル配送された後にユーザごとで選別する方法についてはほとんど取り上げない。携帯電話向け spam についても触れない。特定の MTA や対策ツールにかたよった記述はほとんどしないし、特に必要

  • 1