on
Issue 7
- 🗞️ Article
- Command PATH security in Go
- Bad Pods: Kubernetes Pod Privilege Escalation
- Falco vs. AuditD from the HIDS perspective
- Cache poisoning in popular open source packages
- GitHub security features: highlights from 2020
- A Glossary of Blind SSRF Chains – Assetnote
- On Web-Security and -Insecurity: Insecure Features in PDFs
- The Embedded YouTube Player Told Me What You Were Watching
- 本物のウェブアクセスログを使用した、機械学習による異常検知(全データ/ソースコード公開) - WAF Tech Blog | クラウド型 WAF サービス Scutum 【スキュータム】
- KindleDrip — From Your Kindle’s Email Address to Using Your Credit Card | by Yogev Bar-On | Realmode Labs | Jan, 2021 | Medium
- 💣 CVE
- 📗 Book
🗞️ Article
Command PATH security in Go
go
コマンドでの任意コード実行につながる脆弱性 CVE-2021-3115 の解説。
exec.Command
は Windows では PATH よりもカレントディレクトリにある同一実行ファイル名の実行を優先するため、任意コードの実行につながる。
Bad Pods: Kubernetes Pod Privilege Escalation
Pod に権限が与えられた場合に何が可能になるか、まとめられている
Falco vs. AuditD from the HIDS perspective
auditd と falco の比較について。パフォーマンスやルール等のカスタマイズにおいて falco に軍配が上がるとのこと。
Cache poisoning in popular open source packages
Popular な OSS における Cache poisoning についての調査。Bottle や Tornado, Rack などで見つかっている。
GitHub security features: highlights from 2020
2020 年からの GitHub のセキュリティ機能の追加について。Push 時の Code Scanning や Secret Scanning の強化など。
A Glossary of Blind SSRF Chains – Assetnote
SSRF を利用してさらなる攻撃を行う例。Memcache や Redis, Docker など様々なミドルウェアを通して任意コードの実行に持ち込む方法など。
On Web-Security and -Insecurity: Insecure Features in PDFs
PDF を利用したコード実行や Information Leak の手法について。実際に脆弱な PDF 閲覧ソフトを評価している。
The Embedded YouTube Player Told Me What You Were Watching
罠サイトを閲覧したユーザーの YouTube の視聴履歴などのプレイリストが取得できた脆弱性について。
本物のウェブアクセスログを使用した、機械学習による異常検知(全データ/ソースコード公開) - WAF Tech Blog | クラウド型 WAF サービス Scutum 【スキュータム】
機械学習を利用して実際の http server のログから異常検知を行う方法について。再現可能な形でコードも提供している。
KindleDrip — From Your Kindle’s Email Address to Using Your Credit Card | by Yogev Bar-On | Realmode Labs | Jan, 2021 | Medium
Kindle 上で、内部で利用されているライブラリを利用して任意コード実行を行い、権限昇格を行えた脆弱性について。
💣 CVE
CVE-2021-21263 Query Binding Exploitation in Laravel
配列のパラメータを利用して query binding を細工し、データの漏洩が可能な脆弱性。
例えば次のコードはリクエストパラメータ id
と price=2500
にマッチするデータを返すコードである。
$id = $request->input('id');
$query = Book::where('id', $id)->where('price', 2500)->first();
HTTP リクエストを受け取ると次のような SQL と query binding が実行される。
❯ curl 'http://localhost:3000/book?id=1'
// query
string(52) "select * from `books` where `id` = ? and `price` = ?"
// binding
array(2) {
[0]=>
string(1) "1"
[1]=>
int(2500)
}
しかし、HTTP リクエストを細工し、同じパラメータ名で Array のものを 2 つ用意すると、するとそのまま binding されてしまう。
❯ curl 'http://localhost:3000/book?id[]=1&id[]=2000'
// query
string(52) "select * from `books` where `id` = ? and `price` = ?"
// binding
array(3) {
[0]=>
string(1) "1"
[1]=>
string(4) "2000" # 👈 2つめの id の値である 2000 が入っている
[2]=>
int(2500)
}
これによって、実行される SQL は select * from books where id = 1 and price = 2000
となり、意図しないデータの漏洩に繋がる。
📗 Book
Software Design 2021 年 2 月号
脆弱性の原理とパッチを例に紹介する連載。2 月号では curl TFTP 実装部分におけるバッファオーバーフロー(CVE-2019-5482)を題材に紹介。